You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARM模板部署虚拟网络时New-AzResourceGroupDeployment因IP解析失败

问题解决:ARM模板部署虚拟网络时的InvalidJson错误

核心原因

模板中对数组类型参数的引用方式错误:将数组参数表达式包裹在双引号中,导致Azure将数组解析为字符串而非数组类型,触发JSON格式错误。

修复步骤

1. 修正ARM模板中的参数引用

找到虚拟网络资源定义的properties部分,修改以下两行:

错误写法:

"addressPrefixes": "[parameters('addressPrefixes')]"
"subnets": "[parameters('subnets')]"

正确写法(移除表达式外的双引号):

"addressPrefixes": "[parameters('addressPrefixes')]"
"subnets": "[parameters('subnets')]"

注:表达式[parameters('xxx')]本身会返回数组类型,无需额外包裹引号,否则会被强制转换为字符串,导致JSON解析失败。

2. 验证参数文件格式

确认参数文件中addressPrefixes和subnets的格式正确,示例如下:

"addressPrefixes": {
    "value": [
        "172.50.28.0/22"
    ]
},
"subnets": {
    "value": [
        {
            "name": "default_VM01",
            "properties": {
                "addressPrefix": "172.50.28.0/26"
            }
        }
    ]
}

确保文件无语法错误(如缺失逗号、括号不匹配等)。

3. 升级Az模块版本

当前使用的Az模块版本(5.8.0)较老旧,存在潜在的参数解析bug。升级至最新版本:

Update-Module -Name Az -Force

4. 正确执行部署命令

确保使用参数文件而非直接在命令行传递数组参数,避免解析错误:

New-AzResourceGroupDeployment -ResourceGroupName "clientname-rg-vm-01" -TemplateFile "./template.json" -TemplateParameterFile "./parameters.json"

内容的提问来源于stack exchange,提问作者bakkie103

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:24:22