azure - 为 ARM 指定多个参数文件
问题描述
我有一个解决方案,其中包含需要在我的 Azure 帐户中部署的不同服务:
global_params.json
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"globalParam1": {
"value": "v1"
},
"globalParam2": {
"value": "v2"
}
}
}
myservice_params.json
:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"svcParam1": {
"value": "v1"
},
"svcParam2": {
"value": "v2"
},
"svcParam3": {
"value": "v3"
}
}
}
在我的 ARM 模板azuredeploy.json
中,我需要获取两组参数:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"globalParam1": {...}
},
"globalParam2": {...}
},
"svcParam1": {...}
},
"svcParam2": {...}
},
"svcParam3": {...}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2020-08-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('globalParam1')]",
"sku": {
"name": "[parameters('svcParam1')]",
"tier": "[parameters('svcParam2')]"
},
"kind": "[parameters('svcParam3')]",
"properties": {
"accessTier": "[parameters('globalParam2')]"
}
}
]
}
如何使用 Azure CLI 确保传递从两个参数文件合并的参数?我知道一个参数文件可以按如下方式传递(请参阅doc):
az deployment group create ... --template-file ./azuredeploy.json --parameters @myservice_params.json
但是如何指定两个参数文件并将它们合并?
解决方案
CLI(也不是 Azure 本身)支持这一点 - 您必须在调用 Azure 之前自己进行合并。
您可以在模板中的参数上使用 defaultValues 来接近复制。
推荐阅读
- java - 将char放入int数组是什么意思,是ASC号吗?
- azure - AADB2C 嵌入式密码重置:未触发本地帐户发现
- tensorflow - 通过回调 api 动态更新数据集过滤器中使用的 tensorflow 变量
- python - 操作系统() | 对先前存在的命令提示符窗口执行命令 | Python
- java - 使用警报管理器在特定时间发送通知
- python - 通过 Atom 保存 Python 文件会导致模块导入错误 - 从其他任何地方保存不会出现问题
- javascript - javaScript - 如果单击速度足够快,带有“单击”事件侦听器的按钮将触发多次
- android - 使用 OkHttp3 请求后端时出现错误代码 400,Chrome 返回 200 OK
- flutter - 使用颤振设置 if else 状态
- html - 子组合子和 ::after 伪元素