azure - 从 PowerShell 将哈希表作为参数传递给 ARM 模板
问题描述
我想替换我的参数文件,只用 powershell 给出参数。我的参数文件如下所示:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subnets": {
"value": {
"settings": [
{
"name": "firstSubnet",
"addressPrefix": "10.0.0.0/24"
},
{
"name": "secondSubnet",
"addressPrefix": "10.0.1.0/24"
}
]
}
}
}
}
我尝试用以下方法覆盖:
-subnets {"settings":[{"name": "firstSubnet","addressPrefix": "10.0.0.0/24"},{"name": "secondSubnet","addressPrefix": "10.0.1.0/24"]}}
但我不断收到错误。使用哈希表作为参数的正确语法是什么?
解决方案
您的示例不是哈希表。它只是一个未加引号的 JSON 字符串。
哈希表在 PowerShell 中定义为
@{}
和数组是
@()
所以你会考虑构建如下所示的东西:
-subnets @{
settings = @(
@{
name = 'foo'
address = 'bar'
}
)
}
等等。
您可以使用ConvertFrom-Json
和ConvertTo-Json
在 PowerShell 哈希表和数组之间转换 JSON。
推荐阅读
- python - 在 Python 中从数组中格式化日期
- swift - 如果我知道当前日期,如何确定一周中的下几天?
- node.js - 如何在快递中处理角度路线,得到:“res.sendFile 不是函数”
- php - 如何修复“@P1”附近的语法不正确。Laravel 中的错误
- javascript - 无法在 onClick 函数中执行 if 语句
- javascript - 赛普拉斯测试在访问 localhost 时连续运行 XHR 帖子(运行 vue.js)
- python - 如何在python中返回通过sklearn的函数KernelDensity估计的分布的平均值(或期望值)?
- google-analytics - 如何在多个域的 vue 应用上实现谷歌分析?
- c# - 如何清除 MVC 中自定义 HandleError 属性的会话?
- angular - 仅当 *ngIf 中的所有选项都不为真时才显示 else 块