Azure Functions 中 local.settings.json 的值

Pau*_*els 4 c# azure azureservicebus azure-functions

我创建了一个如下所示的 Azure 函数(实际上,Microsoft 模板完成了大部分工作!):

[FunctionName("Function1")]
public static void Run([ServiceBusTrigger("%queue-name%", AccessRights.Listen)]string myQueueItem, TraceWriter log)
{
    log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
}
Run Code Online (Sandbox Code Playgroud)

我的 local.settings.json 看起来像这样:

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "..",
    "AzureWebJobsDashboard": "..",
    "AzureWebJobsServiceBus": "..",
    "queue-name":  "testqueue"

  }
}
Run Code Online (Sandbox Code Playgroud)

然后我部署了这个功能。这是一个奇怪的问题,因为我的问题是它立即起作用,但我没想到它会起作用。function.json 在这里:

{
  "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.0.0",
  "configurationSource": "attributes",
  "bindings": [
    {
      "type": "serviceBusTrigger",
      "queueName": "%queue-name%",
      "accessRights": "listen",
      "name": "myQueueItem"
    }
  ],
  "disabled": false,
  "scriptFile": "..\\bin\\FunctionApp8.dll",
  "entryPoint": "FunctionApp8.Function1.Run"
}
Run Code Online (Sandbox Code Playgroud)

显然,local.settings.json 中的值已复制到功能设置中,但我在门户中看不到它们。我的问题是:这些设置现在存储在哪里(队列名称和 AzureWebJobsServiceBus)?

编辑:

该功能的我的应用程序设置:

应用程序设置

Mar*_*ger 5

它们将位于 Azure 门户中已发布函数应用的“应用程序设置”选项卡下(见图)。

有一点文档在这里!请注意,大多数应用程序设置不会自动发布,并且需要在发布步骤或发布后进行一些配置。

应用程序设置


更新:如果两个函数正在侦听同一队列上的事件,则只会触发一个函数。这可能会导致看似错误的行为,因为函数在预期时似乎会触发/不触发。

在这种情况下,意外行为来自竞争函数而不是意外连接字符串。

  • 你很准时。这是另一个接收消息的过程;我得出的结论是,这不是因为当我测试时,他们在那里呆了很长时间(让他们呆了 20 分钟)。出于某种原因,捡起它们的过程似乎在看似随机的时间冲刺到了生活中!谢谢你的帮助。 (2认同)