在本地实现的Azurefunction在云中不起作用

我有以下function,我在本地定义,并能够正常调试它。

[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上的function设置中,“AzureWebJobsStorage”也设置为正确的连接字符串(与本地设置的字符串相同)。 这意味着,我没有像Azure中那样的问题没有在Azure中执行(无错误)

现在,我使用Visual Studio Team Service在git存储库中托管我的源代码。 我已将部署配置为使用源代码并部署其中包含的function。 我不认为该问题与VSTS有关,因为部署成功执行并且该function显示在我的function列表中:

天蓝色的队列功能

部署之后,生成文件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上工作? 我认为它可以开箱即用。

你的function在运行吗? 如果你进入KUDU,你会看到你的function实际运行的任何日志吗?

如果您的function根本没有运行,Azurefunction2(使用.NET Standard 2框架)仍处于预览版(测试版)。 因此,当您部署函数时,请确保进入函数应用程序的“应用程序设置”并将FUNCTIONS_EXTENSION_VERSION值设置为beta