ResouceGroup()。嵌套模板混淆中的位置

时间:2019-04-10 17:54:42

标签: azure azure-resource-manager arm-template

我在下面嵌套了模板。容器注册表的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
                            }
                        },

1 个答案:

答案 0 :(得分: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