ResouceGroup(). Расположение в путанице вложенных шаблонов

У меня есть вложенный шаблон ниже. Похоже, что 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
                            }
                        },
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

вам нужно использовать связанный шаблон, а не встроенный шаблон. вещь со встроенным шаблоном, которую он отображает перед развертыванием. поэтому он отображает его так, как если бы он был частью родительского шаблона.

{
    "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

Спасибо, но проблема со связанным шаблоном заключается в том, что вы не можете развернуть его с самим родительским шаблоном и должны вручную разместить его где-то, а затем выполнить аутентификацию и т. д. Встроенный идеален с точки зрения развертывания.

Gregory Suvalian 10.04.2019 20:59

вы не можете использовать какие-либо интересные функции, предлагаемые связанными шаблонами, во встроенных шаблонах, и (как вы только что видели) поведение резкое, поэтому связанные шаблоны намного безопаснее и проще.

4c74356b41 10.04.2019 21:04

Другие вопросы по теме