Я использую операцию копирования для массива местоположений центров обработки данных Azure, чтобы развернуть план обслуживания приложений и веб-сайт для каждого местоположения. Я могу создать профиль диспетчера трафика и использовать объект копирования для добавления конечной точки для каждого местоположения в профиль диспетчера трафика.
Когда я пытаюсь установить CNAME для каждого из веб-сайтов на свое собственное доменное имя, используя ресурс Microsoft.Web / sites / hostNameBindings в соответствии с инструкциями здесь Я придумал следующий:
{
"type": "Microsoft.Web/sites/hostNameBindings",
"apiVersion": "[parameters('hostNameBindingsApiVersion')]",
"copy": {
"name": "hostNameBindingsEndpointsLoop",
"count": "[length(parameters('appServicePlanLocations'))]"
},
"name": "[concat(concat(variables('webSitePrefix'), parameters('appServicePlanLocations')[copyIndex()]), '/', variables('hostNameBindingsName'))]",
"location": "[parameters('appServicePlanLocations')[copyIndex()]]",
"dependsOn": [
"[concat('Microsoft.Network/trafficManagerProfiles/', variables('trafficManagerName'), '/azureEndpoints/', variables('trafficManagerEndpointPrefix'), parameters('appServicePlanLocations')[copyIndex()])]",
"[concat('Microsoft.Web/sites/', concat(variables('webSitePrefix'), parameters('appServicePlanLocations')[copyIndex()]))]"
],
"properties": {
"siteName": "[concat(variables('webSitePrefix'), parameters('appServicePlanLocations')[copyIndex()])]",
"domainId": null,
"hostNameType": "Verified"
}
}
Используя это, CNAME фактически устанавливается, но развертывание шаблона ARM завершается ошибкой со следующей ошибкой:
{
"ErrorEntity": {
"Code": "Conflict",
"Message": "Cannot modify this site because another operation is in progress. Details: Id: {guid}, OperationName: RegisterTrafficManagerProfile, CreatedTime: 5/24/2016 11:13:54 PM, RequestId: {guid}, EntityType: 1",
"ExtendedCode": "59203",
"MessageTemplate": "Cannot modify this site because another operation is in progress. Details: {0}",
"Parameters": [
"Id: {guid}, OperationName: RegisterTrafficManagerProfile, CreatedTime: 5/24/2016 11:13:54 PM, RequestId:{guid}, EntityType: 1"
],
"InnerErrors": null
}
}
],
"Innererror": null
}
Я не уверен, в чем заключается конфликт, потому что я добавил сегмент зависимости, чтобы попытаться дождаться создания веб-сайта, а также контрольной точки trafficmanage для завершения подготовки. Я попытаюсь изменить порядок так, чтобы после создания веб-сайта я добавлял CNAME, а затем конечная точка диспетчера трафика ожидала создания CNAME. Я не понимаю, почему порядок должен иметь значение.
Правильно ли я определил раздел Microsoft.Web / sites / hostNameBindings в моем шаблоне руки? Имеет ли значение в этом сценарии порядок зависимостей? Должен ли он?