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

使用ARM模板部署Azure自动化账户变量时遇JSON无效错误

解决ARM模板部署自动化账户变量的JSON错误问题

问题根源

报错"Invalid JSON - Kindly check the value of the variable"的核心原因是自动化账户变量的value字段需要是JSON序列化后的字符串。Azure Automation要求变量值以JSON格式存储,直接传入普通字符串会被ARM解析为无效JSON。

修复步骤

  1. 修正value字段格式
    将原value值用额外的双引号包裹并转义内部引号,确保它是合法的JSON字符串:

    "value": "\"DummyValue\""
    

    针对不同类型的变量值,需遵循JSON格式规范:

    • 数字类型:"value": "123"
    • 布尔类型:"value": "true"
    • 数组类型:"value": "[\"item1\",\"item2\"]"
  2. 优化嵌套资源依赖(可选)
    嵌套在自动化账户下的资源,dependsOn可直接引用父资源名称,写法更简洁:

    "dependsOn": [
        "[variables('automationaccount').accountName]"
    ]
    

    注:嵌套资源默认会依赖父资源,此配置可省略。

  3. 验证标签字段格式
    确保tags参数为对象类型,模板中写法保持:

    "tags": "[parameters('tags')]"
    

修复后的变量资源代码片段

"resources":[
    {
        "type":"variables",
        "apiVersion":"2020-01-13-preview",
        "name":"DummyName",
        "dependsOn":[
            "[variables('automationaccount').accountName]"
        ],
        "properties":{
            "description":"Dummydesc",
            "isEncrypted":false,
            "value":"\"DummyValue\""
        }
    }
]

额外验证建议

  • 用VS Code的Azure Resource Manager Tools插件提前检查JSON语法,规避格式问题。
  • 若将变量作为独立资源部署,需确保资源ID格式为Microsoft.Automation/automationAccounts/{accountName}/variables/{variableName},且dependsOn指向自动化账户的完整resourceId。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:07:39