ARM模板中数组类型的参数
Parameter of Array type in ARM Template
我有一个 ARM 模板,其参数为数组类型,如下所示:
如何在参数数组的第二和第三位置设置值? (例如,本例中的"b"、"c")
方法一:直接使用数组索引——
您可以通过以下表达式使用 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]]"
}
}
}
更新:
方法二:如果要使用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'))]"
}
}
]
}
我有一个 ARM 模板,其参数为数组类型,如下所示:
如何在参数数组的第二和第三位置设置值? (例如,本例中的"b"、"c")
方法一:直接使用数组索引——
您可以通过以下表达式使用 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]]"
}
}
}
更新:
方法二:如果要使用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'))]"
}
}
]
}