本地实现的 Azure 功能在云中不起作用
Azure function implemented locally won't work in the cloud
我有下面这个函数,我在本地定义的,可以正常调试
[FunctionName("QueueTrigger")]
public static void DUMMYFUNCTION(
[QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log)
{
log.Info($"C# function processed: {myQueueItem}");
}
在本地,"AzureWebJobsStorage" 在 local.settings.json 文件中定义,以使用具有 "myqueue" 的存储帐户。在 Azure 的功能设置中 "AzureWebJobsStorage" 也设置为正确的连接字符串(与本地设置的相同)。这意味着,我没有遇到与
中相同的问题
现在,我使用 Visual Studio Team Service 将我的源代码托管在 git 存储库中。我已将部署配置为使用源代码并部署其中包含的功能。
我认为问题与 VSTS 无关,因为部署已成功执行并且功能显示在我的功能列表中:
部署后,生成文件function.json,内容如下:
{
"generatedBy": "Microsoft.NET.Sdk.Functions.Generator-1.0.8",
"configurationSource": "attributes",
"bindings": [
{
"type": "queueTrigger",
"connection": "AzureWebJobsStorage",
"queueName": "myqueue",
"name": "myQueueItem"
}],
"disabled": false,
"scriptFile": "../bin/myAssembly.dll",
"entryPoint": "myAssembly.MyClass.DUMMYFUNCTION"
}
问题是,当我在本地调试时将一个项目添加到队列中时,函数会执行,但是当函数在 azure 上 运行 时它不会执行。
我需要更改代码中的哪些内容才能使其在 azure 上也能正常工作?我认为它会开箱即用。
你的功能是 运行 吗?如果你进入 KUDU,你是否看到任何日志表明你的函数实际上 运行?
如果您的函数根本不是 运行,Azure Functions 2(使用 .NET Standard 2 框架)仍处于预览阶段(测试版)。因此,当您部署函数时,请确保进入函数应用程序的应用程序设置并将 FUNCTIONS_EXTENSION_VERSION 值设置为 beta
我有下面这个函数,我在本地定义的,可以正常调试
[FunctionName("QueueTrigger")]
public static void DUMMYFUNCTION(
[QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log)
{
log.Info($"C# function processed: {myQueueItem}");
}
在本地,"AzureWebJobsStorage" 在 local.settings.json 文件中定义,以使用具有 "myqueue" 的存储帐户。在 Azure 的功能设置中 "AzureWebJobsStorage" 也设置为正确的连接字符串(与本地设置的相同)。这意味着,我没有遇到与
现在,我使用 Visual Studio Team Service 将我的源代码托管在 git 存储库中。我已将部署配置为使用源代码并部署其中包含的功能。 我认为问题与 VSTS 无关,因为部署已成功执行并且功能显示在我的功能列表中:
部署后,生成文件function.json,内容如下:
{
"generatedBy": "Microsoft.NET.Sdk.Functions.Generator-1.0.8",
"configurationSource": "attributes",
"bindings": [
{
"type": "queueTrigger",
"connection": "AzureWebJobsStorage",
"queueName": "myqueue",
"name": "myQueueItem"
}],
"disabled": false,
"scriptFile": "../bin/myAssembly.dll",
"entryPoint": "myAssembly.MyClass.DUMMYFUNCTION"
}
问题是,当我在本地调试时将一个项目添加到队列中时,函数会执行,但是当函数在 azure 上 运行 时它不会执行。
我需要更改代码中的哪些内容才能使其在 azure 上也能正常工作?我认为它会开箱即用。
你的功能是 运行 吗?如果你进入 KUDU,你是否看到任何日志表明你的函数实际上 运行?
如果您的函数根本不是 运行,Azure Functions 2(使用 .NET Standard 2 框架)仍处于预览阶段(测试版)。因此,当您部署函数时,请确保进入函数应用程序的应用程序设置并将 FUNCTIONS_EXTENSION_VERSION 值设置为 beta