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

如何将PowerShell哈希表作为对象参数传入JSON ARM模板并解决解析报错

问题原因

你遇到的报错由两点共同导致:

  • PowerShell原生哈希表变量直接作为参数传给az cli时,会被默认转为System.Collections.Hashtable字符串,az cli无法识别该字符串为结构化参数
  • az cli要求传入ARM模板的object类型参数必须为标准JSON格式字符串,不支持PowerShell原生哈希表类型
解决方案

按以下步骤修改即可:

  1. 先将定义好的PowerShell哈希表转换为压缩格式的JSON字符串,避免换行、空格引发的传参转义问题:
$lcr=@{
    "tierToCool"=@{
        "daysAfterModificationGreaterThan"=1
    };
    "tierToArchive"=@{
        "daysAfterModificationGreaterThan"=2
    }
}
# 哈希表转压缩格式JSON
$lcrJson = $lcr | ConvertTo-Json -Compress
  1. 执行部署命令时传入转换完成的JSON字符串即可:
az deployment group create --subscription <hidden> --resource-group <hidden> --template-file <hidden> --parameters lcr="$lcrJson"

如果运行仍有转义相关报错,可以直接将JSON字符串用单引号包裹后传入验证:

az deployment group create --subscription <hidden> --resource-group <hidden> --template-file <hidden> --parameters lcr='{"tierToCool":{"daysAfterModificationGreaterThan":1},"tierToArchive":{"daysAfterModificationGreaterThan":2}}'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:21:02