У меня есть вложенный шаблон ниже. Похоже, что resourcegroup().location
для реестра контейнеров относится к группе ресурсов, определенной в родительском шаблоне, а не к той, которую он развертывает через nestedTemplate
. Как вместо этого правильно указать расположение группы ресурсов во вложенном шаблоне?
{
"apiVersion": "2017-05-10",
"name": "nestedTemplate",
"type": "Microsoft.Resources/deployments",
"resourceGroup": "[variables('SharedResourceGroup')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"name": "[variables('ACRName')]",
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2017-10-01",
"location": "[parameters('location')]",
"comments": "Container registry for storing docker images",
"sku": {
"name": "Standard",
"tier": "Standard"
},
"properties": {
"adminUserEnabled": true
}
},
вам нужно использовать связанный шаблон, а не встроенный шаблон. вещь со встроенным шаблоном, которую он отображает перед развертыванием. поэтому он отображает его так, как если бы он был частью родительского шаблона.
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"name": "linkedTemplate",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri":"https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.json",
"contentVersion":"1.0.0.0"
},
"parametersLink": {
"uri": "https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.parameters.json",
"contentVersion":"1.0.0.0"
}
}
}
Это будет работать таким образом. Я бы предложил не использовать вложенные встроенные шаблоны.
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-linked-templates
вы не можете использовать какие-либо интересные функции, предлагаемые связанными шаблонами, во встроенных шаблонах, и (как вы только что видели) поведение резкое, поэтому связанные шаблоны намного безопаснее и проще.
Спасибо, но проблема со связанным шаблоном заключается в том, что вы не можете развернуть его с самим родительским шаблоном и должны вручную разместить его где-то, а затем выполнить аутентификацию и т. д. Встроенный идеален с точки зрения развертывания.