当前位置 : 主页 > 编程语言 > c语言 >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有以下功能,我在本地定义,并能够正常调试它. [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

网友评论