es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede crear múltiples cuentas de almacenamiento con el valor de parámetros en la plantilla de ARM.

Estoy tratando de crear múltiples cuentas de almacenamiento con plantillas ARM, pero no encuentro la sintaxis para crear con nombre como parámetros. A continuación se muestra mi archivo template.json:

Template.json:

{
      "$schema": "https://schema.management.azure.com/schemas/2019-04- 
        01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "storageName": {
          "type": "array",
          "metadata": {
                 "description": "nombreCuentaAlmacenamiento"
            }
        }
      },
      "functions": [],
      "variables": {},
      "resources": [{
        "name": "[concat('almacenamiento', uniqueString(resourceGroup().id), 
parameters('storageName')[copyIndex('copiarAlmacenamiento')])]",
        "type": "Microsoft.Storage/storageAccounts",
        "apiVersion": "2021-04-01",
        "tags": {
            "displayName": "cuentaAlmacenamiento1"
        },
        "location": "[resourceGroup().location]",
        "kind": "StorageV2",
        "sku": {
            "name": "Standard_LRS",
            "tier": "Standard"
        },
        "copy": {
            "name": "copiarAlmacenamiento",
            "count": "[length(parameters('storageName'))]"
        }
      }],
      "outputs": {}
}

Parameters.json

“`
{
“$schema”: “https://schema.management.azure.com/schemas/2019-04-
01/deploymentParameters.json#”,
“contentVersion”: “1.0.0.0”,
“parameters”: {
“storageName”: {
“value”: [
“almacenamiento1”,
“almacenamiento2”,
“almacenamiento3”
]
}
}
}

Entonces, ¿cuál debería ser la propiedad “name” para crear cuentas de almacenamiento con almacenamiento1, almacenamiento2 y almacenamiento3?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear cuentas de almacenamiento con los nombres storearm1, storearm2 y storearm3 utilizando esta plantilla de ARM, la propiedad “name” debe actualizarse de la siguiente manera:

    "name": "[concat('storage', uniqueString(resourceGroup().id), parameters('storageName')[copyIndex()])]",
    

    Esto concatenará “storage” con una cadena única generada a partir del ID de su grupo de recursos y los valores en el conjunto de parámetros “storageName” en cada iteración de copia. La función copyIndex() se utiliza para iterar sobre los valores del conjunto.

Comments are closed.