我有以下功能,我在本地定义,并能够正常调试它. [FunctionName("QueueTrigger")] public static void DUMMYFUNCTION( [QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log) { log.Info($"
[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”也设置为正确的连接字符串(与本地设置的连接字符串相同).这意味着,我没有像Azure Function does not execute in Azure (No Error)那样的问题
现在,我使用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功能2(使用.NET Standard 2框架)仍处于预览版(测试版).因此,在部署函数时,请确保进入函数应用程序的“应用程序设置”并将FUNCTIONS_EXTENSION_VERSION值设置为beta