【问题标题】:Reading TopicName from config for Azure Function Service Bus Trigger not working从 Azure 函数服务总线触发器的配置中读取 TopicName 不起作用
【发布时间】:2021-09-29 11:29:32
【问题描述】:

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

我看过这篇文章,我也尝试过同样的方法Previous Question

 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%”未解析为值。

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

【问题讨论】:

    标签: azure azure-functions servicebus


    【解决方案1】:

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

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

    在 Azure 门户上,您可以直接将其添加到应用服务/功能配置中,例如名称为 TopicName、SubsriptionName 等的属性。

    【讨论】:

    • 好的,我会试试这个,但没有放置任何 %% 标记,它如何​​区分 TopicName 是一个名为 TopicName 的主题,还是一个配置设置?
    • @Paul 您使用 %% 的函数声明实际上是正确的。 %TopicName% - 表示应该从配置中检索该值。 TopicName - 表示主题名称是'TopicName'
    猜你喜欢
    • 2018-08-10
    • 2021-09-28
    • 2019-05-04
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 2023-02-14
    相关资源
    最近更新 更多