在本地实现的Azure功能在云中不起作用

Th3*_*B0Y 3 .net c# azure azure-functions azure-functions-runtime

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

    [FunctionName("QueueTrigger")]
    public static void DUMMYFUNCTION(
    [QueueTrigger("myqueue", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log)
    {
        log.Info($"C# function processed: {myQueueItem}");
    }
Run Code Online (Sandbox Code Playgroud)

在本地,"AzureWebJobsStorage"在local.settings.json文件中定义,以使用具有"myqueue"的存储帐户.在Azure上的功能设置中,"AzureWebJobsStorage"也设置为正确的连接字符串(与本地设置的相同).这意味着,我没有与Azure中的问题相同的问题不在Azure中执行(无错误)

现在,我使用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"
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我在本地调试时向队列中添加一个项目时,该函数会被执行,但是当该函数在azure上运行时它不会.

我需要在代码中进行哪些更改才能使其在azure上工作?我认为它可以开箱即用.

DOM*_*MZE 6

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

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