我已经创建了一个看起来像这样的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)?
编辑:
我的功能应用程序设置:
答案 0 :(得分:2)
他们将在&#34;应用程序设置&#34; Azure门户中已发布的功能应用程序的选项卡(见图片)。
有一些文档here!请注意,大多数应用设置不会自动发布,并且需要在发布步骤或发布后进行一些配置。
UPDATE :如果两个函数正在侦听同一队列中的事件,则只会触发一个函数。这可能会导致看似错误的行为,因为一个函数在预期时似乎会触发/不触发。
在这种情况下,意外行为来自竞争函数,而不是意外的连接字符串。
答案 1 :(得分:0)
在Azure中,功能设置取自“应用程序设置”选项卡,与“应用程序服务”中的相同。
您可能也发布了它们,请检查门户网站UI。