Azure Functions中local.settings.json的值

时间:2018-02-06 18:02:34

标签: c# azure azure-functions azureservicebus

我已经创建了一个看起来像这样的Azure功能(实际上,Microsoft模板完成了大部分工作!):<​​/ p>

[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}");
}

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

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

  }
}

然后我部署了这个功能。这是一个奇怪的问题,因为我的问题是,这立即起作用,但我并不期望它。 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"
}

显然,local.settings.json中的值已被复制到函数设置中,但我无法在门户中看到它们。我的问题是:现在存储这些设置的位置(queue-name和AzureWebJobsServiceBus)?

编辑:

我的功能应用程序设置:

App Settings

2 个答案:

答案 0 :(得分:2)

他们将在&#34;应用程序设置&#34; Azure门户中已发布的功能应用程序的选项卡(见图片)。

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

Application settings

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

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

答案 1 :(得分:0)

在Azure中,功能设置取自“应用程序设置”选项卡,与“应用程序服务”中的相同。

您可能也发布了它们,请检查门户网站UI。