如何有效地管理多个Azure订阅?

时间:2018-04-19 16:01:38

标签: azure azureservicebus azure-servicebusrelay azure-management

根据以下链接(https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas),每个Azure订阅的最大基本/标准命名空间数为100。但是我需要更多,因此需要以下问题:

  1. 使用第二个azure订阅是超过100个命名空间的唯一方法还是有其他方法吗?

  2. 如果我接受第二次和第三次Azure订阅,如何保持所有订阅同步。例如,如果我先改变一些东西,我是否还需要在其他人身上做到这一点?是否有一个中央门户网站可以更有效地管理它?

  3. 谢谢!

2 个答案:

答案 0 :(得分:0)

根据documentation

  

门户拒绝对其他基本/标准命名空间的后续请求。

首先联系Microsoft以查看限制是否很难或可以解除限制。一些Azure服务施加了限制,以确保客户不会陷入困境并超支。

  

如何让所有订阅保持同步。

手动/编写脚本。没有其他方法可以了解您在Microsoft订阅级别自动化它的需求。

答案 1 :(得分:0)

您确定需要这么多名称空间吗?我假设你将在每个队列中创建单独的队列,主题等。即使是基本级别的基本费用为每月10美元。超过100时,这些费用就会增加。就我而言,我正在为多种类型的数据使用相同的服务总线队列。我使用代理消息的label属性来区分不同类型的消息。在我的例子中,我使用Azure函数从队列中读取。以下是我的函数的样子:

    public static void Run([ServiceBusTrigger("%QueueName%", AccessRights.Manage, Connection = "MyConnection")]BrokeredMessage myQueueItem, TraceWriter log)
{
    // BrokeredMessage properties
    var label = myQueueItem.Label;        
    var contentType = myQueueItem.ContentType;
    var messageId = myQueueItem.MessageId;

    // Custom properties we can add to BrokeredMessage
    var file = myQueueItem.Properties["FileName"].ToString();

    switch (myQueueItem.Label)
    {
        case "Label 1":

            // Do Something
            break;

        case "Label 2":

            // Do Something else
            break;

        default:
            Log.Debug("Unknown label: {@Label}", label);
            break;
    }
}