Azure ARM 模板不同资源组

Azure ARM Template Different Resource Groups

我正在尝试使用 ARM 模板和静态 IP 部署 VM。我的 vnet 在网络资源组中,我正在使用 VM 在计算资源组中创建我的 NIC。我的 ARM 模板失败,因为它在创建 VM NIC 时试图搜索计算资源组下的 vnet/subnet...如何处理这种情况?

您需要在将 NIC 附加到 vnet\subnet 时向其提供正确的 resourceId,如下所示:

"subnet": {
    "id": "[resourceId('resourceGroupName', 'Microsoft.Network/virtualNetworks/Subnets', 'vnetName', 'subnetName')]",
},

其中 resourceGroupName 是您的 vnet 所在的资源组的名称。您也可以使用此功能在不同的订阅中选择一个 vnet。或者你可以 "calculate" 使用 concat 函数,或者在模板之外。

更多阅读:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions-resource#resourceid