【发布时间】:2021-10-19 13:56:23
【问题描述】:
我的变量在 powershell 中如下:
$lcr=@{"tierToCool"=@{"daysAfterModificationGreaterThan"=1};"tierToArchive"=@{"daysAfterModificationGreaterThan"=2}}
然后,当我使用 az cli 命令运行模板时,将变量作为对象传递到我的 arm 模板中:
az deployment group create --subscription <hidden> --resource-group <hidden> --template-file <hidden> --parameters lcr=$lcr
我收到以下错误:
解析 JSON 失败:System.Collections.Hashtable
错误详情:预期值:第 1 行第 1 列(字符 0)
我将参数传递到模板的方式或格式化它的方式有问题吗?非常感谢任何帮助。
【问题讨论】:
-
看起来
az正在等待 JSON。试试... --parameters lcr=$($lcr |ConvertTo-Json) -
解析 JSON 失败:{ 错误详情:需要用双引号括起来的属性名称
-
--parameters只需要 JSON - 要么做--parameters ($lcr|ConvertTo-Json)要么只是手动将你的哈希表转换为 json 字符串。如果“lcr”也是参数名称,请将其设置为哈希表条目之一,例如$lcr=@{'lcr'=@{'tierToCool'=...}}。查看 az group 部署页面以获取更多示例:docs.microsoft.com/en-us/cli/azure/group/…
标签: json powershell hashtable arm-template azure-cli