-
为提供的表达式中似乎存在语法错误
virtualNetworkSubnetId
。这是一个改进的版本,以避免出现错误。
"virtualNetworkSubnetId": "[if(contains(variables('appCopyArray')[copyIndex('appCopy')], 'appapi'), resourceId('Microsoft.Network/virtualNetworks/subnets', 'vntpceus2', 'subpceus2report'), '')]"
-
rgppceus2
不是指定子网资源ID所必需的
resourceId
函数应用于构造格式为的资源ID
'Microsoft.Network/virtualNetworks/subnets'
.
在这里,我已经根据您的要求尝试了以下代码:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appName": {
"type": "string",
"metadata": {
"description": "Name of the Azure App Service."
}
}
},
"variables": {
"subnetId": "[if(contains(parameters('appName'), 'appapi'), resourceId('Microsoft.Network/virtualNetworks/subnets', 'vnetIntegration', 'mysub01'), json('null'))]"
},
"resources": [
{
"name": "[parameters('appName')]",
"type": "Microsoft.Web/sites",
"apiVersion": "2021-02-01",
"location": "[resourceGroup().location]",
"properties": {
"name": "[parameters('appName')]",
"siteConfig": {
"virtualNetworkConnection": [
{
"name": "vnetIntegration",
"properties": {
"vnetResourceId": "[resourceId('Microsoft.Network/virtualNetworks', 'vnetIntegration')]",
"subnetResourceId": "[if(not(equals(variables('subnetId'), json('null'))), variables('subnetId'), json('null'))]"
},
"condition": "[not(equals(variables('subnetId'), json('null')))]"
}
]
}
}
}
]
}
部署状态:
输出: