从 Azure 函数服务总线触发器的配置中读取 TopicName 不起作用

Reading TopicName from config for Azure Function Service Bus Trigger not working

我有一个服务总线触发器功能,我想从配置中加载主题名称

我看过这个 post 我也试过同样的方法

 public async Task MyFunctionAsync(
   [ServiceBusTrigger("%TopicName%", "data-subscription", Connection = "event-bus-connection")]
   string mySbMsg)
   {
   }

在我的 localsettings.json 文件中

"bindings": [
    {
      "%TopicName%": "topic"
    }
  ]

“绑定”:[ { "%TopicName%": "rockit-notification-topic" } ]

这行不通

Microsoft.Azure.WebJobs.Host: 错误索引方法 'MyFunction'。 Microsoft.Azure.WebJobs.Host:“%TopicName%”未解析为值。

此外,即使这确实有效,我如何将其添加到门户内的功能设置中,因为这是数组中的一项?

您不应将“绑定”部分添加到本地设置文件中。 localsettings.json 应该是这样的:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "event-bus-connection": "test",
    "TopicName":"topic",
    "SubsriptionName":"data-subscription"
  }
}

在 Azure Portal 上,您可以直接将其添加到 App Service/Function 配置,例如名称为 TopicName、SubsriptionName 等的属性