У меня есть два экземпляра служебной шины премиум-класса, развернутые вручную через лазурный портал. У них не настроен псевдоним геовосстановления, и экземпляры служебной шины работают около года.
Теперь я пытаюсь автоматизировать процесс развертывания этих экземпляров служебной шины, а также добавить к нему ресурс псевдонима геореактивации следующим образом:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
},
"serviceBusLocation": {
"type": "string"
},
"sku": {
"type": "object",
"defaultValue": "Standard"
},
"serviceBusTopicName": {
"type": "string"
},
"serviceBusSubscriptionName": {
"type": "string"
},
"isAliasEnabled": {
"type": "bool"
},
"isQueueCreationEnabled": {
"type": "bool"
},
"aliasName": {
"type": "string"
},
"partnerNamespace": {
"type": "string"
}
},
"variables": {
"defaultSASKeyName": "RootManageSharedAccessKey",
"authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/authorizationRules', parameters('serviceBusNamespaceName'), variables('defaultSASKeyName'))]",
"sbVersion": "2017-04-01"
},
"resources": [
{
"apiVersion": "2018-01-01-preview",
"name": "[parameters('serviceBusNamespaceName')]",
"type": "Microsoft.ServiceBus/Namespaces",
"location": "[parameters('serviceBusLocation')]",
"sku": {
"name": "[parameters('sku').name]",
"tier": "[parameters('sku').tier]",
"capacity": "[parameters('sku').capacity]"
},
"properties": {
"zoneRedundant": false
},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('aliasName')]",
"type": "disasterRecoveryConfigs",
"condition": "[parameters('isAliasEnabled')]",
"dependsOn": [
"[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"partnerNamespace": "[parameters('partnerNamespace')]"
}
}
]
}
]
}
Я использую один и тот же шаблон для раздельного развертывания первичного и вторичного экземпляров. Обратите внимание, что ресурс DisasterRecoveryConfigs будет развернут только в том случае, если он является основным экземпляром.
Этот шаблон успешно развертывает дополнительное пространство имен, но развертывание основного пространства имен завершается неудачно со следующей ошибкой:
Невозможно заморозить вторичное пространство имен перед созданием пары, вероятно, это связано с тем, что вторичное пространство имен не пусто.
Это правильно, то есть во вторичном пространстве имен уже создано несколько тем / подписок и очередей. Я не хочу их удалять, а просто хочу объединить первичное и вторичное пространства имен.
Как это может быть сделано?