arm-template - ARM模板中Array类型的参数
解决方案
方法一:直接使用数组索引——
您可以使用以下表达式来使用 Array 参数的值:
对于第一个值:"[parameters('parameter1')[0]]"
对于第二个值:"[parameters('parameter1')[1]]"
对于第三个值:"[parameters('parameter1')[2]]"
您可以测试此示例模板以从数组中获取值并在输出中显示:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"parameter1": {
"defaultValue": [
"value1",
"value2",
"value3"
],
"type": "Array"
}
},
"resources": [],
"outputs": {
"firstValue": {
"type": "String",
"value": "[parameters('parameter1')[0]]"
},
"secondValue": {
"type": "String",
"value": "[parameters('parameter1')[1]]"
},
"thirdValue": {
"type": "String",
"value": "[parameters('parameter1')[2]]"
}
}
}
更新:
方法2:如果你想使用copyIndex。使用以下表达式 -
"[parameters('parameter1')[copyIndex()]]"
请检查以下示例:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"parameter1": {
"defaultValue": [
"strvalue1",
"strvalue2"
],
"type": "Array"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-04-01",
"name": "[parameters('parameter1')[copyIndex()]]",
"location": "[resourceGroup().location]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {},
"copy": {
"name": "storagecopy",
"count": "[length(parameters('parameter1'))]"
}
}
]
}
推荐阅读
- angularjs - 安装 npm 包时无法解决依赖关系树错误
- python - 读取可能有单行或单列的表(python)
- sql-server - 如何将 varchar 转换为 varbinary,其中每个 char 后跟一个空字符?
- python - 范围内的Python加权随机数
- typescript - 打字稿将抽象类作为通用约束传递并构造它
- c - C - 相同子 ID 的多个实例(fork 和 fifo)
- javascript - 如何使用纯javascript将多个用户名和密码插入localStorage
- java - 我想在回收站视图中显示我的所有数据
- javascript - JavaScript中的超时和间隔是否使用单调时间?
- python - 如何根据不同的列用 NA 填充名称