在具有服务总线触发器的Azure函数中引用来自配置的主题和订阅名称 [英] Refer Topic and Subscription name from Configuration in an Azure Function with Service Bus Trigger
本文介绍了在具有服务总线触发器的Azure函数中引用来自配置的主题和订阅名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有Service Bus主题触发器的Azure Service Bus。我的函数如下所示
[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)
{ ... }
我的Service Bus的配置在local.settings.json文件中。
"ConnectionStrings": {
"ServiceBus": "Endpoint=sb://<my-sb>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<my-key>"
}
我正在寻找的是,我也希望引用配置文件中的主题名称,而不是将它们硬编码在ServiceBusTrigger
中。问题是,如果我更改订阅名称,那么我将不得不重新部署函数代码(我希望不惜一切代价避免这种情况)。
推荐答案
将Values
中的主题和订阅放在本地.settings.json(门户中的应用程序设置)中,并使用应用程序设置绑定表达式引用它们--将应用程序设置名称用%
括起来,勾选doc。
[ServiceBusTrigger("%Topic%", "%Subscription%", Connection = "ServiceBus")]string message
此外,我建议您将ServiceBus
连接字符串放在Values
中,ConnectionStrings
通常由框架使用,这些框架通常从配置文件的ConnectionStrings部分获取连接字符串,例如实体框架。请参阅doc。
这篇关于在具有服务总线触发器的Azure函数中引用来自配置的主题和订阅名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文