Создание ресурса Microsoft.Network/networkInterfaces завершается неудачно с ошибочным запросом в шаблоне вложенной руки - PullRequest
0 голосов
/ 03 апреля 2020

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

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "rgPrefix": {
            "type": "string"
        },
        "location": {
            "type": "string"
        }
    },
    "variables": {
        "rgName": "[parameters('rgPrefix')]",
        "VNet": "[concat(variables('rgName'), '-Vnet')]",
        "vmName": "[concat(variables('rgName'), 'Vm1')]",
        "networkInterfaceName": "[concat(variables('vmName'), 'nic1')]"
    },
    "resources": [
        {
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2018-05-01",
            "location": "[parameters('location')]",
            "name": "[variables('rgName')]",
            "properties": {
            }
        },
        {
            "type": "Microsoft.Resources/deployments",
            "apiVersion": "2017-05-10",
            "name": "vmDeployment",
            "resourceGroup": "[variables('rgName')]",
            "dependsOn": [
                "[resourceId('Microsoft.Resources/resourceGroups/', variables('rgName'))]"
            ],
            "properties": {
                "expressionEvaluationOptions": {
                    "scope": "outer"
                },
                "mode": "Incremental",
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "resources": [
                        {
                            "type": "Microsoft.Network/virtualNetworks",
                            "name": "[variables('VNet')]",
                            "apiVersion": "2019-11-01",
                            "location": "[parameters('location')]",
                            "tags": {
                                "displayName": "[variables('VNet')]"
                            },
                            "properties": {
                                "addressSpace": {
                                    "addressPrefixes": [
                                        "10.0.0.0/16"
                                    ]
                                },
                                "subnets": [
                                    {
                                        "name": "subnet-1",
                                        "properties": {
                                            "addressPrefix": "10.0.0.0/24"
                                        }
                                    },
                                    {
                                        "name": "subnet-2",
                                        "properties": {
                                            "addressPrefix": "10.0.1.0/24"
                                        }
                                    }
                                ]
                            },
                            "resources": [
                                {
                                    "type": "subnets",
                                    "apiVersion": "2019-11-01",
                                    "name": "subnet-1",
                                    "dependsOn": [
                                        "[resourceId('Microsoft.Network/virtualNetworks', variables('VNet'))]"
                                    ],
                                    "properties": {
                                        "addressPrefix": "10.0.0.0/24",
                                        "delegations": [
                                        ],
                                        "privateEndpointNetworkPolicies": "Enabled",
                                        "privateLinkServiceNetworkPolicies": "Enabled"
                                    }
                                },
                                {
                                    "type": "subnets",
                                    "apiVersion": "2019-11-01",
                                    "name": "subnet-2",
                                    "dependsOn": [
                                        "[resourceId('Microsoft.Network/virtualNetworks', variables('VNet'))]"
                                    ],
                                    "properties": {
                                        "addressPrefix": "10.0.1.0/24",
                                        "delegations": [
                                        ],
                                        "privateEndpointNetworkPolicies": "Enabled",
                                        "privateLinkServiceNetworkPolicies": "Enabled"
                                    }
                                }
                            ]
                        },
                        {
                            "name": "[variables('networkInterfaceName')]",
                            "type": "Microsoft.Network/networkInterfaces",
                            "apiVersion": "2019-07-01",
                            "location": "[parameters('location')]",
                            "dependsOn": [
                            ],
                            "properties": {
                                "ipConfigurations": [
                                    {
                                        "name": "ipconfig1",
                                        "properties": {
                                            "privateIpAddressVersion": "IPv4",
                                            "privateIPAllocationMethod": "Dynamic",
                                            "subnet": {
                                                "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('VNet'), 'subnet-1')]"
                                            }
                                        }
                                    }
                                ]
                            }
                        }

                    ],
                    "outputs": {
                    }
                }
            }
        }
    ],
    "outputs": {
}
}

Когда я запускаю развертывание, я получаю следующую ошибку

Resource Microsoft.Network/networkInterfaces 'vssRGVm1nic1' failed with message '{   "error": {     "code": "InvalidRequestFormat",    
     | "message": "Cannot parse the request.

1 Ответ

0 голосов
/ 04 апреля 2020

ошибка возникает из-за использования функции resourceId(). Он ведет себя по-разному при развертывании на уровне подписки. Вы должны заменить его конкатными функциями:

"[concat(subscription().id, '/resourceGroups/', variables('rgName'), '/providers/Microsoft.Network/virtualNetworks/', variables('VNet'), '/subnets/subnet-1')]"

https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-resource#return -значение-5

...