Параметр типа массива в шаблоне ARM - PullRequest
0 голосов
/ 19 июня 2020

У меня есть шаблон ARM с параметром типа массива следующим образом:

enter image description here

Как мне установить значения во второй и третьей позиции параметра массив? (например, «b», «c» в этом примере)

1 Ответ

1 голос
/ 19 июня 2020

Метод 1: Непосредственно с использованием индекса массива -

Вы можете использовать значения параметра Array, используя это выражение:

Для 1-го значения: "[parameters('parameter1')[0]]"

Для 2-го значения: "[parameters('parameter1')[1]]"

Для 3-го значения: "[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'))]"
            }
        }
    ]
}
...