Шаблоны Azure Resource Manager (ARM) имеют возможность использовать Linked Templates. Эти связанные шаблоны могут определять дополнительные ресурсы для создания во время развертывания шаблона ARM.Обработка зависимостей в Azure Resource Manager Связанные шаблоны
Поддержка шаблонов ARM dependencies, которые обеспечивают создание некоторых ресурсов перед другими.
Я хотел бы указать зависимость в связанном шаблоне для ресурса, созданного в главном шаблоне. Если я включаю зависимость в Linked шаблона, это выглядит следующим образом:
"resources": [
{
"apiVersion": "2015-08-01",
"type": "Microsoft.Web/sites/hostNameBindings",
"name": "[concat(parameters('siteName'),'/', parameters('fqdn'))]",
"dependsOn": [
"[concat('Microsoft.Web/sites/', parameters('siteName'))]"
],
"properties": {
"siteName": "[parameters('siteName')]"
}
}
]
Хотя dependsOn
кажется правильным, ресурс создан при Microsoft.Web/sites/{siteNameParameter}
, развернув шаблон ARM выводит следующее сообщение об ошибке:
InvalidTemplate: Ошибка проверки шаблона развертывания: «Ресурс« Microsoft.Web/sites/blahblahblahblah »не определен в шаблоне. Подробности использования см. В разделе https://aka.ms/arm-template. '.
Я в настоящее время определяющим эту зависимость в мастер шаблона, когда я определяю связанный шаблон вызова. Это кажется хрупким и легко ломающимся. Есть ли лучший способ, чем определять зависимости в шаблоне основного ARM?
{
"apiVersion": "2015-01-01",
"name": "SomeName",
"type": "Microsoft.Resources/deployments",
"dependsOn": [
"[concat('Microsoft.Web/sites/', parameters('siteName'))]"
],
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "https://tempuri.org/supersecrettemplatepath/azuredeploy.json",
"contentVersion": "1.0.0.0"
},
"parameters":
{
"fqdn": {
"value": "www.tempuri.org"
},
"siteName": {
"value": "[parameters('siteName')]"
}
}
}
}
Интересно! Мне придется отдать это рулон. Это было мое понимание @ bmore-msft, что имя ресурса(). Name должно быть автоматически заполнено во всех 'dependOn'-вызовах по умолчанию, хотя. Разве это не так для вложенных шаблонов? –
Сортировка - если она не указана, предполагается, что она находится в одном шаблоне - вложенные шаблоны фактически являются отдельными/независимыми развертываниями в AzureRM. –
К сожалению, это выводит то же сообщение об ошибке, что и раньше. '' '" Ошибка проверки шаблона развертывания: «Ресурс« Microsoft.Web/sites/somesite »не определен в шаблоне.' '' –