使用 PowerShell 部署的 Azure ARM 模板在 NIC 上失败并出现 InvalidResourceReference 错误

Azure ARM template with PowerShell deployment fails on the NIC with an InvalidResourceReference error

我有一个 Azure 生成的模板和参数文件,用于创建一个简单的 VM。它适用于提供的部署。ps1。我已更新参数文件以在新资源组中创建另一个 VM,但它现在失败并显示 "Invalid resource reference" 错误。

我已经查看了模板,但没有更改它。我可以看到没有任何硬编码。部署创建网络安全组和 public IP 地址,但随后在 NIC 上失败。我检查了区域问题,但看不到任何问题。

模板的 NIC 部分如下所示:

"variables": {
        "nsgId": "[resourceId(resourceGroup().name, 'Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroupName'))]",
        "vnetId": "[parameters('virtualNetworkId')]",
        "subnetRef": "[concat(variables('vnetId'), '/subnets/', parameters('subnetName'))]"
    },
    "resources": [
        {
            "type": "Microsoft.Network/networkInterfaces",
            "apiVersion": "2018-10-01",
            "name": "[parameters('networkInterfaceName')]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[concat('Microsoft.Network/networkSecurityGroups/', parameters('networkSecurityGroupName'))]",
                "[concat('Microsoft.Network/publicIpAddresses/', parameters('publicIpAddressName'))]"
            ],
            "properties": {
                "ipConfigurations": [
                    {
                        "name": "ipconfig1",
                        "properties": {
                            "subnet": {
                                "id": "[variables('subnetRef')]"
                            },
                            "privateIPAllocationMethod": "Dynamic",
                            "publicIpAddress": {
                                "id": "[resourceId(resourceGroup().name, 'Microsoft.Network/publicIpAddresses', parameters('publicIpAddressName'))]"
                            }
                        }
                    }
                ],
                "networkSecurityGroup": {
                    "id": "[variables('nsgId')]"
                }
            }
        },

错误信息是:

New-AzResourceGroupDeployment : 17:11:30 - Resource Microsoft.Network/networkInterfaces 'newRHserverNIC' failed with message '{ "error": { "code": "InvalidResourceReference", "message": "Resource /subscriptions//resourceGroups/Scripttest2/providers/Microsoft.Network/virtualNetworks/NewvirtNet/subnets/default referenced by resource /subscriptions//resourceGroups/Scripttest2/providers/Microsoft.Network/networkInterfaces/newRHserverNIC was not found. Please make sure that the referenced resource exists, and that both resources are in the same region.", "details": [] } }'

好吧,它是两个中的任何一个,子网在不同的 region\different 资源 group\different 订阅中或以不同的方式调用。

不要忽略 <azuredeploy.parameters.json> 文件。 就我而言,这个文件有问题。它的位置与当前资源组不同,因为我从之前的执行中提取了它。