我使用servicebus和其他Azure功能相当新。在Azure门户上手动创建Servicebus之后,我试着弄清楚如何自动实现这一点。经过一段时间的阅读后,我认为使用azure资源管理器应该是可行的方法。只部署一个主题没什么大不了的。但我找不到一个例子,它展示了如何一次部署多个主题和队列。或者我的方法是错误的吗?
感谢您的回答! 赫尔穆特
答案 0 :(得分:1)
我们做了什么(我看到其他团队做同样的事情)很简单:当您的生产者/消费者应用程序启动时,它会检查是否存在所需的队列/主题/订阅,否则创建它们。
因此,我们使用C#代码创建所有Service Bus实体,这也为选项提供了充分的灵活性。
代码示例:
var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);
if (!namespaceManager.TopicExists(topicName))
{
namespaceManager.CreateTopic(new TopicDescription(topicName));
namespaceManager.CreateSubscription(
new SubscriptionDescription(topicName, subscriptionName));
}
这并不是说你的ARM方法是错误的还是坏的,只是为了给出一个简单的替代方案。
答案 1 :(得分:0)
使用新的天蓝色门户网站(here),有一个Automation script
功能。
我创建了一个新的资源组,其服务总线命名空间包含2个主题和1个队列:
您可以在左侧面板上看到Automation script
功能。
在此部分中,您可以找到代表您手动创建的资源的模板。然后,您可以使用此模板自动部署到其他环境。
另见Deploy resources with Resource Manager templates and Azure PowerShell