使用服务总线触发器从 Azure 函数中的配置中引用主题和订阅名称
Refer Topic and Subscription name from Configuration in an Azure Function with Service Bus Trigger
我有一个带有服务总线主题触发器的 Azure 服务总线。我的函数看起来像这样
[FunctionName("SbListener")]
public static async Task Run(
[ServiceBusTrigger("test-topic", "test-sub-1", Connection = "ServiceBus")]string message,
[Inject("Microsoft.EventStore.Functions", true)] IWebNotificationManagerFactory webNotificationManagerFactory,
[Inject("Microsoft.EventStore.Functions", true)] ILogger logger)
{ ... }
我的服务总线的配置在 local.settings.json 文件中。
"ConnectionStrings": {
"ServiceBus": "Endpoint=sb://<my-sb>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<my-key>"
}
我正在寻找的是我也想从配置文件中引用主题名称,而不是在 ServiceBusTrigger
中对它们进行硬编码。问题是,如果我更改订阅名称,那么我将不得不重新部署功能代码(我想不惜一切代价避免这种情况)。
将主题和订阅放在Values
中local.settings.json(门户中的应用程序设置)并使用应用程序设置绑定表达式引用它们--用%
包裹应用程序设置名称,勾选doc.
[ServiceBusTrigger("%Topic%", "%Subscription%", Connection = "ServiceBus")]string message
此外,我建议您也将 ServiceBus
连接字符串放在 Values
中,ConnectionStrings
由通常从配置文件的 ConnectionStrings 部分获取连接字符串的框架使用,例如 Entity Framework。见 doc.
我有一个带有服务总线主题触发器的 Azure 服务总线。我的函数看起来像这样
[FunctionName("SbListener")]
public static async Task Run(
[ServiceBusTrigger("test-topic", "test-sub-1", Connection = "ServiceBus")]string message,
[Inject("Microsoft.EventStore.Functions", true)] IWebNotificationManagerFactory webNotificationManagerFactory,
[Inject("Microsoft.EventStore.Functions", true)] ILogger logger)
{ ... }
我的服务总线的配置在 local.settings.json 文件中。
"ConnectionStrings": {
"ServiceBus": "Endpoint=sb://<my-sb>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<my-key>"
}
我正在寻找的是我也想从配置文件中引用主题名称,而不是在 ServiceBusTrigger
中对它们进行硬编码。问题是,如果我更改订阅名称,那么我将不得不重新部署功能代码(我想不惜一切代价避免这种情况)。
将主题和订阅放在Values
中local.settings.json(门户中的应用程序设置)并使用应用程序设置绑定表达式引用它们--用%
包裹应用程序设置名称,勾选doc.
[ServiceBusTrigger("%Topic%", "%Subscription%", Connection = "ServiceBus")]string message
此外,我建议您也将 ServiceBus
连接字符串放在 Values
中,ConnectionStrings
由通常从配置文件的 ConnectionStrings 部分获取连接字符串的框架使用,例如 Entity Framework。见 doc.