一次部署具有多个主题和队列的ServiceBus

时间:2017-07-03 08:13:22

标签: azure azureservicebus azure-resource-manager

我使用servicebus和其他Azure功能相当新。在Azure门户上手动创建Servicebus之后,我试着弄清楚如何自动实现这一点。经过一段时间的阅读后,我认为使用azure资源管理器应该是可行的方法。只部署一个主题没什么大不了的。但我找不到一个例子,它展示了如何一次部署多个主题和队列。或者我的方法是错误的吗?

感谢您的回答! 赫尔穆特

2 个答案:

答案 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个队列:

Azure Portal - ServiceBus - Preview

您可以在左侧面板上看到Automation script功能。

Azure Portal - ServiceBus - Automation script

在此部分中,您可以找到代表您手动创建的资源的模板。然后,您可以使用此模板自动部署到其他环境。

另见Deploy resources with Resource Manager templates and Azure PowerShell