【问题标题】:Azure function implemented locally won't work in the cloud本地实现的 Azure 功能在云中不起作用
【发布时间】:2018-02-24 02:07:59
【问题描述】:

我有以下函数,我在本地定义,可以正常调试。

    [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 上也能正常工作?我认为它可以开箱即用。

【问题讨论】:

  • 应用设置中有 AzureWebJobsStorage 吗?您在本地和 Azure 中收听相同的队列吗?
  • 是的@mikhail,如问题中所述。
  • 检查 Azure 门户中的队列。它是否将消息显示为待处理、已传递或已发送到死信队列?
  • @McGuireV10 它们在两种情况下的显示完全相同,为待处理。如果我在本地运行它,它会被处理,但在 azure 上运行它什么也不做。

标签: c# .net azure azure-functions azure-functions-runtime


【解决方案1】:

您的函数是否正在运行?如果您进入 KUDU,您是否看到您的函数实际运行的任何日志?

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

【讨论】:

  • 天啊,它有效!我不知道为什么这在文档中不容易获得。我现在已经搜索过它,它在与本地调试函数相关的页面中进行了描述(docs.microsoft.com/en-us/azure/azure-functions/…)。无论如何,谢谢:)
  • @Th3B0Y 我不确定我是否理解问题所在。设置版本有问题吗?我正在尝试看看可以做些什么来改进此类场景的文档/错误
  • @ahmelsayed,问题是天蓝色配置上的“FUNCTIONS_EXTENSION_VERSION”。我已将其更改为“测试版”并且有效。
猜你喜欢
  • 2021-08-15
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 2017-01-07
相关资源
最近更新 更多