Compartir a través de


Funciones de objeto para plantillas de ARM

Resource Manager proporciona varias funciones para trabajar con objetos en la plantilla de Azure Resource Manager (plantilla de ARM):

Sugerencia

Se recomienda Bicep , ya que ofrece las mismas funcionalidades que las plantillas de ARM y la sintaxis es más fácil de usar. Para obtener más información, consulte funciones de objeto .

contiene

contains(container, itemToFind)

Comprueba si una matriz contiene un valor, un objeto contiene una clave o una cadena que contiene una subcadena. La comparación de cadena distingue mayúsculas de minúsculas. Pero, cuando se prueba si un objeto contiene una clave, la comparación no distingue mayúsculas de minúsculas.

En Bicep, use la contains función .

Parámetros

Parámetro Obligatorio Tipo Descripción
contenedor matriz, objeto o cadena El valor que contiene el valor para buscar.
itemToFind cadena o entero El valor para buscar.

Valor devuelto

True si el elemento se encuentra; en caso contrario, False.

Ejemplo

En el ejemplo siguiente se muestra cómo utilizar contains con diferentes tipos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stringToTest": {
      "type": "string",
      "defaultValue": "OneTwoThree"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "arrayToTest": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "stringTrue": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'e')]"
    },
    "stringFalse": {
      "type": "bool",
      "value": "[contains(parameters('stringToTest'), 'z')]"
    },
    "objectTrue": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'one')]"
    },
    "objectFalse": {
      "type": "bool",
      "value": "[contains(parameters('objectToTest'), 'a')]"
    },
    "arrayTrue": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'three')]"
    },
    "arrayFalse": {
      "type": "bool",
      "value": "[contains(parameters('arrayToTest'), 'four')]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
stringTrue Bool Cierto
stringFalse Bool Falso
objectTrue Bool Cierto
objectFalse Bool Falso
arrayTrue Bool Cierto
arrayFalse Bool Falso

createObject

createObject(key1, value1, key2, value2, ...)

Crea un objeto a partir de las claves y los valores.

Bicep no admite la createObject función. Construya un objeto mediante {}. Vea Objetos.

Parámetros

Parámetro Obligatorio Tipo Descripción
Clave1 No cuerda / cadena Nombre de la clave.
value1 No int, boolean, string, object o array Valor de la clave.
más claves No cuerda / cadena Más nombres de las claves.
más valores No int, boolean, string, object o array Más valores para las claves.

La función solo acepta un número par de parámetros. Cada clave debe tener un valor coincidente.

Valor devuelto

Objeto con cada par clave y valor.

Ejemplo

En el ejemplo siguiente se crea un objeto a partir de distintos tipos de valores:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
  ],
  "outputs": {
    "newObject": {
      "type": "object",
      "value": "[createObject('intProp', 1, 'stringProp', 'abc', 'boolProp', true(), 'arrayProp', createArray('a', 'b', 'c'), 'objectProp', createObject('key1', 'value1'))]"
    }
  }
}

La salida del ejemplo anterior con los valores predeterminados es un objeto denominado newObject con el siguiente valor:

{
  "intProp": 1,
  "stringProp": "abc",
  "boolProp": true,
  "arrayProp": ["a", "b", "c"],
  "objectProp": {"key1": "value1"}
}

vacío

empty(itemToTest)

Determina si una matriz, un objeto o una cadena están vacíos.

En Bicep, use la empty función .

Parámetros

Parámetro Obligatorio Tipo Descripción
itemToTest matriz, objeto o cadena El valor para comprobar si está vacío.

Valor devuelto

Devuelve True si el valor está vacío; en caso contrario, False.

Ejemplo

En el ejemplo siguiente se comprueba si una matriz, un objeto y una cadena están vacíos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "testArray": {
      "type": "array",
      "defaultValue": []
    },
    "testObject": {
      "type": "object",
      "defaultValue": {}
    },
    "testString": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [
  ],
  "outputs": {
    "arrayEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testArray'))]"
    },
    "objectEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testObject'))]"
    },
    "stringEmpty": {
      "type": "bool",
      "value": "[empty(parameters('testString'))]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
arrayEmpty Bool Cierto
objectEmpty Bool Cierto
stringEmpty Bool Cierto

intersección

intersection(arg1, arg2, arg3, ...)

Devuelve una sola matriz o objeto con elementos comunes de los parámetros.

En Bicep, use la intersection función .

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 matriz u objeto El primer valor que se utilizará para buscar elementos comunes.
arg2 matriz u objeto El segundo valor que se utilizará para buscar elementos comunes.
más argumentos No matriz u objeto Más valores que se utilizarán para buscar elementos comunes.

Valor devuelto

Una matriz o un objeto con los elementos comunes.

Ejemplo

En el ejemplo siguiente se muestra cómo utilizar intersection con matrices y objetos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c"
      }
    },
    "secondObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "z",
        "three": "c"
      }
    },
    "firstArray": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [ "two", "three" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "objectOutput": {
      "type": "object",
      "value": "[intersection(parameters('firstObject'), parameters('secondObject'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[intersection(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
objectOutput Objeto {"one": "a", "three": "c"}
arrayOutput Arreglo ["two", "three"]

Artículos

items(object)

Convierte un objeto de diccionario en una matriz. Consulta toObject sobre cómo convertir una matriz en un objeto.

En Bicep, use la items función .

Parámetros

Parámetro Obligatorio Tipo Descripción
objeto objeto El objeto de diccionario que se va a convertir en una matriz.

Valor devuelto

Una matriz de objetos para el diccionario convertido. Cada objeto de la matriz tiene una propiedad key que contiene el valor de clave para el diccionario. Además, cada objeto tiene una propiedad value que contiene las propiedades para el objeto.

Ejemplo

En el ejemplo siguiente se convierte un objeto de diccionario en una matriz, creando un nuevo objeto con valores modificados para cada objeto de la matriz:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "copy": [
      {
        "name": "modifiedListOfEntities",
        "count": "[length(items(variables('entities')))]",
        "input": {
          "key": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].key]",
          "fullName": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.displayName]",
          "itemEnabled": "[items(variables('entities'))[copyIndex('modifiedListOfEntities')].value.enabled]"
        }
      }
    ],
    "entities": {
      "item002": {
        "enabled": false,
        "displayName": "Example item 2",
        "number": 200
      },
      "item001": {
        "enabled": true,
        "displayName": "Example item 1",
        "number": 300
      }
    }
  },
  "resources": [],
  "outputs": {
    "modifiedResult": {
      "type": "array",
      "value": "[variables('modifiedListOfEntities')]"
    }
  }
}

El ejemplo anterior devuelve:

"modifiedResult": {
  "type": "Array",
  "value": [
    {
      "fullName": "Example item 1",
      "itemEnabled": true,
      "key": "item001"
    },
    {
      "fullName": "Example item 2",
      "itemEnabled": false,
      "key": "item002"
    }
  ]
}

En el ejemplo siguiente se muestra la matriz que devuelve la items función:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "entities": {
      "item002": {
        "enabled": false,
        "displayName": "Example item 2",
        "number": 200
      },
      "item001": {
        "enabled": true,
        "displayName": "Example item 1",
        "number": 300
      }
    },
    "entitiesArray": "[items(variables('entities'))]"
  },
  "resources": [],
  "outputs": {
    "itemsResult": {
      "type": "array",
      "value": "[variables('entitiesArray')]"
    }
  }
}

El ejemplo devuelve:

"itemsResult": {
  "type": "Array",
  "value": [
    {
      "key": "item001",
      "value": {
        "displayName": "Example item 1",
        "enabled": true,
        "number": 300
      }
    },
    {
      "key": "item002",
      "value": {
        "displayName": "Example item 2",
        "enabled": false,
        "number": 200
      }
    }
  ]
}

En JSON, un objeto es una colección desordenada de cero o más pares clave-valor. El orden puede ser diferente en función de las implementaciones. Por ejemplo, la función Bicep items() ordena los objetos por orden alfabético. En otros lugares, se puede conservar la ordenación original. Debido a este no determinismo, evite realizar suposiciones sobre el orden de las claves de objeto al escribir código, que interactúa con los parámetros y salidas de implementación.

json

json(arg1)

Convierte una cadena JSON válida en un tipo de datos JSON.

En Bicep, use la json función .

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 cuerda / cadena Valor que se va a convertir en JSON. La cadena debe ser una cadena JSON con el formato correcto.

Valor devuelto

El tipo de datos JSON de la cadena especificada o un valor vacío si se especifica null.

Observaciones

Si necesita incluir un valor de parámetro o una variable en el objeto JSON, use la format función para crear la cadena que se pasa a la función.

También puede usar null() para obtener un valor NULL.

Ejemplo

En el ejemplo siguiente se muestra cómo usar la función json. Observe que puede pasar null para un objeto vacío:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "jsonEmptyObject": {
      "type": "string",
      "defaultValue": "null"
    },
    "jsonObject": {
      "type": "string",
      "defaultValue": "{\"a\": \"b\"}"
    },
    "jsonString": {
      "type": "string",
      "defaultValue": "\"test\""
    },
    "jsonBoolean": {
      "type": "string",
      "defaultValue": "true"
    },
    "jsonInt": {
      "type": "string",
      "defaultValue": "3"
    },
    "jsonArray": {
      "type": "string",
      "defaultValue": "[[1,2,3 ]"
    },
    "concatValue": {
      "type": "string",
      "defaultValue": "demo value"
    }
  },
  "resources": [
  ],
  "outputs": {
    "emptyObjectOutput": {
      "type": "bool",
      "value": "[empty(json(parameters('jsonEmptyObject')))]"
    },
    "objectOutput": {
      "type": "object",
      "value": "[json(parameters('jsonObject'))]"
    },
    "stringOutput": {
      "type": "string",
      "value": "[json(parameters('jsonString'))]"
    },
    "booleanOutput": {
      "type": "bool",
      "value": "[json(parameters('jsonBoolean'))]"
    },
    "intOutput": {
      "type": "int",
      "value": "[json(parameters('jsonInt'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[json(parameters('jsonArray'))]"
    },
    "concatObjectOutput": {
      "type": "object",
      "value": "[json(concat('{\"a\": \"', parameters('concatValue'), '\"}'))]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
emptyObjectOutput Boolean Cierto
objectOutput Objeto {"a": "b"}
stringOutput Cuerda prueba
booleanOutput Boolean Cierto
intOutput Entero 3
arrayOutput Arreglo [ 1, 2, 3 ]
concatObjectOutput Objeto {"a": "demo value"}

largura

length(arg1)

Devuelve el número de elementos de una matriz, caracteres de una cadena o propiedades de nivel raíz de un objeto.

En Bicep, use la length función .

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 matriz, cadena u objeto La matriz que se usará para obtener el número de elementos, la cadena que se usará para obtener el número de caracteres o el objeto que se usará para obtener el número de propiedades del nivel raíz.

Valor devuelto

Un entero.

Ejemplo

En el ejemplo siguiente se muestra cómo utilizar length con una matriz y una cadena:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "arrayToTest": {
      "type": "array",
      "defaultValue": [
        "one",
        "two",
        "three"
      ]
    },
    "stringToTest": {
      "type": "string",
      "defaultValue": "One Two Three"
    },
    "objectToTest": {
      "type": "object",
      "defaultValue": {
        "propA": "one",
        "propB": "two",
        "propC": "three",
        "propD": {
          "propD-1": "sub",
          "propD-2": "sub"
        }
      }
    }
  },
  "resources": [],
  "outputs": {
    "arrayLength": {
      "type": "int",
      "value": "[length(parameters('arrayToTest'))]"
    },
    "stringLength": {
      "type": "int",
      "value": "[length(parameters('stringToTest'))]"
    },
    "objectLength": {
      "type": "int",
      "value": "[length(parameters('objectToTest'))]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
arrayLength Int 3
stringLength Int 13
objectLength Int 4

nulo

null()

Devuelve null.

La función null no está disponible en Bicep. En su lugar, use la palabra clave null.

Parámetros

La null función no acepta ningún parámetro.

Valor devuelto

Valor que siempre es NULL.

Ejemplo

En el ejemplo siguiente se usa la null función :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [],
  "outputs": {
    "emptyOutput": {
      "type": "bool",
      "value": "[empty(null())]"
    }
  }
}

El resultado del ejemplo anterior es:

Nombre Tipo Importancia
emptyOutput Bool Cierto

objectKeys

objectKeys(object)

Devuelve las claves de un objeto, donde un objeto es una colección de pares clave-valor.

En Bicep, use la objectKeys función .

Parámetros

Parámetro Obligatorio Tipo Descripción
objeto objeto El objeto, que es una colección de pares clave-valor.

Valor devuelto

Matriz .

Ejemplo

El siguiente ejemplo se muestra cómo usar objectKeys con un objeto:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "obj": {
      "a": 1,
      "b": 2
    }
  },
  "resources": [],
  "outputs": {
    "keyArray": {
      "type": "array",
      "value": "[objectKeys(variables('obj'))]"
    }
  }
}

El resultado del ejemplo anterior es:

Nombre Tipo Importancia
keyArray Arreglo [ "a", "b" ]

En JSON, un objeto es una colección desordenada de cero o más pares clave-valor. El orden puede ser diferente en función de las implementaciones. Por ejemplo, la función Bicep items() ordena los objetos por orden alfabético. En otros lugares, se puede conservar la ordenación original. Debido a este no determinismo, evite realizar suposiciones sobre el orden de las claves de objeto al escribir código, que interactúa con los parámetros y salidas de implementación.

superficialMerge

shallowMerge(inputArray)

Combina una matriz de objetos donde solo se combinan los objetos de nivel superior. Esto significa que si los objetos que se combinan contienen objetos anidados, esos objetos anidados no se combinan profundamente; en su lugar, se reemplazan por la propiedad correspondiente del objeto de combinación.

En Bicep, use la shallowMerge función .

Parámetros

Parámetro Obligatorio Tipo Descripción
inputArray array Matriz de objetos.

Valor devuelto

Objeto .

Ejemplo

En el siguiente ejemplo se muestra cómo usar shallowMerge:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "firstArray": [
      {
        "one": "a"
      },
      {
        "two": "b"
      },
      {
        "two": "c"
      }
    ],
    "secondArray": [
      {
        "one": "a",
        "nested": {
          "a": 1,
          "nested": {
            "c": 3
          }
        }
      },
      {
        "two": "b",
        "nested": {
          "b": 2
        }
      }
    ]
  },
  "resources": [],
  "outputs": {
    "firstOutput": {
      "type": "object",
      "value": "[shallowMerge(variables('firstArray'))]"
    },
    "secondOutput": {
      "type": "object",
      "value": "[shallowMerge(variables('secondArray'))]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
firstOutput objeto {"one":"a","two":"c"}
secondOutput objeto {"one":"a","nested":{"b":2},"two":"b"}

firstOutput muestra las propiedades de los objetos de combinación combinadas en un nuevo objeto. Si hay propiedades en conflicto (es decir, propiedades con el mismo nombre), la propiedad del último objeto que se combina normalmente tiene prioridad.

secondOutput muestra que la combinación superficial no combina de manera recursiva estos objetos anidados. En su lugar, el objetivo anidado se reemplaza completamente por la propiedad correspondiente del objeto de combinación.

tryGet

tryGet(itemToTest, keyOrIndex)

tryGet ayuda a evitar errores de implementación al intentar acceder a una propiedad o índice inexistentes en un objeto o matriz. Si la clave o el índice especificados no existen, tryGet devuelve null en lugar de producir un error.

En Bicep, use el operador safe-dereference .

Parámetros

Parámetro Obligatorio Tipo Descripción
itemToTest array, object Objeto o matriz en el que se va a buscar.
keyOrIndex cadena, int Clave o índice que se va a recuperar de la matriz o del objeto. Nombre de propiedad para objetos o índice para matrices.

Valor devuelto

Devuelve el valor en la clave o índice si existe. Devuelve null si falta la clave o el índice o está fuera de los límites.

Ejemplo

En el ejemplo siguiente se comprueba si una matriz, un objeto y una cadena están vacíos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "2.0",
  "contentVersion": "1.0.0.0",
  "variables": {
    "users": {
      "name": "John Doe",
      "age": 30
    },
    "colors": [
      "red",
      "green"
    ]
  },
  "resources": [],
  "outputs": {
    "region": {
      "type": "string",
      "nullable": true,
      "value": "[tryGet(variables('users'), 'region')]"
    },
    "name": {
      "type": "string",
      "nullable": true,
      "value": "[tryGet(variables('users'), 'name')]"
    },
    "firstColor": {
      "type": "string",
      "nullable": true,
      "value": "[tryGet(variables('colors'), 0)]"
    }
  }
}

El resultado del ejemplo anterior es:

Nombre Tipo Importancia
región Cuerda (NULL)
nombre Cuerda John Doe
firstColor Cuerda Rojo

union

union(arg1, arg2, arg3, ...)

Devuelve una única matriz u objeto con todos los elementos de los parámetros. Para las matrices, los valores duplicados se incluyen una vez. Para los objetos, los nombres de propiedad duplicados solo se incluyen una vez.

En Bicep, use la union función .

Parámetros

Parámetro Obligatorio Tipo Descripción
arg1 matriz u objeto El primer valor que se utiliza para unir elementos.
arg2 matriz u objeto El segundo valor que se utiliza para unir elementos.
más argumentos No matriz u objeto Más valores que se utilizan para unir elementos.

Valor devuelto

Una matriz u objeto.

Observaciones

La union función usa la secuencia de los parámetros para determinar el orden y los valores del resultado.

Para las matrices, la función se itera por cada elemento del primer parámetro y lo agrega al resultado si no está presente. Después, repite el proceso para el segundo parámetro y los parámetros adicionales. Si un valor ya existe, se conserva su ubicación anterior en la matriz.

En el caso de los objetos, los nombres de propiedad y los valores del primer parámetro se agregan al resultado. Para los parámetros posteriores, se agregarán los nuevos nombres al resultado. Si un parámetro posterior tiene una propiedad con el mismo nombre, ese valor sobrescribe el valor existente. El orden de las propiedades no está garantizado.

La union función no solo combina los elementos de nivel superior, sino que también combina recursivamente las matrices y objetos anidados dentro de ellos. Consulte el segundo ejemplo de la sección siguiente.

Ejemplo

En el ejemplo siguiente se muestra cómo utilizar union con matrices y objetos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "firstObject": {
      "type": "object",
      "defaultValue": {
        "one": "a",
        "two": "b",
        "three": "c1"
      }
    },
    "secondObject": {
      "type": "object",
      "defaultValue": {
        "three": "c2",
        "four": "d",
        "five": "e"
      }
    },
    "firstArray": {
      "type": "array",
      "defaultValue": [ "one", "two", "three" ]
    },
    "secondArray": {
      "type": "array",
      "defaultValue": [ "three", "four" ]
    }
  },
  "resources": [
  ],
  "outputs": {
    "objectOutput": {
      "type": "object",
      "value": "[union(parameters('firstObject'), parameters('secondObject'))]"
    },
    "arrayOutput": {
      "type": "array",
      "value": "[union(parameters('firstArray'), parameters('secondArray'))]"
    }
  }
}

La salida de los valores predeterminados del ejemplo anterior es:

Nombre Tipo Importancia
objectOutput Objeto {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"}
arrayOutput Arreglo ["uno", "dos", "tres", "cuatro"]

En el ejemplo siguiente se muestra la capacidad de combinación profunda:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "variables": {
    "firstObject": {
      "property": {
        "one": "a",
        "two": "b",
        "three": "c1"
      },
      "nestedArray": [
        1,
        2
      ]
    },
    "secondObject": {
      "property": {
        "three": "c2",
        "four": "d",
        "five": "e"
      },
      "nestedArray": [
        3,
        4
      ]
    },
    "firstArray": [
      [
        "one",
        "two"
      ],
      [
        "three"
      ]
    ],
    "secondArray": [
      [
        "three"
      ],
      [
        "four",
        "two"
      ]
    ]
  },
  "resources": [],
  "outputs": {
    "objectOutput": {
      "type": "Object",
      "value": "[union(variables('firstObject'), variables('secondObject'))]"
    },
    "arrayOutput": {
      "type": "Array",
      "value": "[union(variables('firstArray'), variables('secondArray'))]"
    }
  }
}

El resultado del ejemplo anterior es:

Nombre Tipo Importancia
objectOutput Objeto {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]}
arrayOutput Arreglo [["one","two"],["three"],["four","two"]]

Si se combinaron matrices anidadas, el valor de objectOutput.nestedArray sería [1, 2, 3, 4], y el valor de arrayOutput sería [["one", "two", "three"], ["three", "four", "two"]].

Pasos siguientes

Para obtener una descripción de las secciones de una plantilla de ARM, vea Nociones sobre la estructura y la sintaxis de las plantillas de Azure Resource Manager.