嵌套的 ARM 模板的段长度不正确
Nested ARM template has incorrect segment lengths
我在尝试部署我的 ARM 模板时收到 "The template resource 'testing' for type 'Microsoft.Network/virtualNetworks/subnets' at line '1' and column '181' has incorrect segment lengths." 错误消息。知道这可能有什么问题吗?
{
"apiVersion": "2017-08-01",
"name": "nestedTemplate",
"type": "Microsoft.Resources/deployments",
"resourceGroup" : "[variables('ResourceGroupName')]",
"dependsOn": [
"[resourceId('Microsoft.Network/networkSecurityGroups', variables('NSGName'))]"
],
"properties": {
"mode" : "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion" : "2018-03-01",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[parameters('subnetName')]",
"location": "[resourceGroup().location]",
"properties": {
"addressPrefix": "[reference(resourceId(variables('ResourceGroupName'), 'Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnetName')), '2018-03-01').addressPrefix]",
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('NSGName'))]"
}
}
},
]
}
}
}
是的,这告诉你你的资源类型是 parent-resource/sub-resource 而你的名字只是 sub-resource-name,它应该是 parent-resource-name/sub-resource-name.
否则它将无法判断在哪里创建子网(它无法在不知道将其放入哪个 vnet 的情况下创建子网)。
我在尝试部署我的 ARM 模板时收到 "The template resource 'testing' for type 'Microsoft.Network/virtualNetworks/subnets' at line '1' and column '181' has incorrect segment lengths." 错误消息。知道这可能有什么问题吗?
{
"apiVersion": "2017-08-01",
"name": "nestedTemplate",
"type": "Microsoft.Resources/deployments",
"resourceGroup" : "[variables('ResourceGroupName')]",
"dependsOn": [
"[resourceId('Microsoft.Network/networkSecurityGroups', variables('NSGName'))]"
],
"properties": {
"mode" : "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion" : "2018-03-01",
"type": "Microsoft.Network/virtualNetworks/subnets",
"name": "[parameters('subnetName')]",
"location": "[resourceGroup().location]",
"properties": {
"addressPrefix": "[reference(resourceId(variables('ResourceGroupName'), 'Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnetName')), '2018-03-01').addressPrefix]",
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('NSGName'))]"
}
}
},
]
}
}
}
是的,这告诉你你的资源类型是 parent-resource/sub-resource 而你的名字只是 sub-resource-name,它应该是 parent-resource-name/sub-resource-name.
否则它将无法判断在哪里创建子网(它无法在不知道将其放入哪个 vnet 的情况下创建子网)。