Funções de matriz para modelos ARM
Este artigo descreve as funções de modelo para trabalhar com matrizes.
Para obter uma matriz de valores de cadeia de caracteres delimitada por um valor, consulte dividir.
Gorjeta
Recomendamos o Bicep porque ele oferece os mesmos recursos que os modelos ARM e a sintaxe é mais fácil de usar. Para saber mais, consulte Funções de matriz .
matriz
array(convertToArray)
Converte o valor em uma matriz.
No Bicep, use a função de matriz .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
convertToArray | Sim | int, string, array ou objeto | O valor a ser convertido em uma matriz. |
Valor devolvido
Uma matriz.
Exemplo
O exemplo a seguir mostra como usar a função de matriz com diferentes tipos.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"intToConvert": {
"type": "int",
"defaultValue": 1
},
"stringToConvert": {
"type": "string",
"defaultValue": "efgh"
},
"objectToConvert": {
"type": "object",
"defaultValue": {
"a": "b",
"c": "d"
}
}
},
"resources": [
],
"outputs": {
"intOutput": {
"type": "array",
"value": "[array(parameters('intToConvert'))]"
},
"stringOutput": {
"type": "array",
"value": "[array(parameters('stringToConvert'))]"
},
"objectOutput": {
"type": "array",
"value": "[array(parameters('objectToConvert'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
intOutput | Matriz | [1] |
stringOutput | Matriz | ["efgh"] |
objectOutput | Matriz | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Combina várias matrizes e retorna a matriz concatenada, ou combina vários valores de cadeia de caracteres e retorna a cadeia de caracteres concatenada.
No Bíceps, utilize a função concat .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz ou cadeia de caracteres | A primeira matriz ou cadeia de caracteres para concatenação. |
Mais argumentos | Não | matriz ou cadeia de caracteres | Mais matrizes ou cadeias de caracteres em ordem sequencial para concatenação. |
Esta função pode aceitar qualquer número de argumentos e pode aceitar cadeias de caracteres ou matrizes para os parâmetros. No entanto, não é possível fornecer matrizes e cadeias de caracteres para parâmetros. As matrizes são concatenadas apenas com outras matrizes.
Valor devolvido
Uma cadeia de caracteres ou matriz de valores concatenados.
Exemplo
O exemplo a seguir mostra como combinar duas matrizes.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"firstArray": {
"type": "array",
"defaultValue": [
"1-1",
"1-2",
"1-3"
]
},
"secondArray": {
"type": "array",
"defaultValue": [
"2-1",
"2-2",
"2-3"
]
}
},
"resources": [
],
"outputs": {
"return": {
"type": "array",
"value": "[concat(parameters('firstArray'), parameters('secondArray'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
regressar | Matriz | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
O exemplo a seguir mostra como combinar dois valores de cadeia de caracteres e retornar uma cadeia de caracteres concatenada.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"prefix": {
"type": "string",
"defaultValue": "prefix"
}
},
"resources": [],
"outputs": {
"concatOutput": {
"type": "string",
"value": "[concat(parameters('prefix'), '-', uniqueString(resourceGroup().id))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
concatOutput | String | prefixo-5yj4yjf5mbg72 |
contém
contains(container, itemToFind)
Verifica se uma matriz contém um valor, um objeto contém uma chave ou uma cadeia de caracteres contém uma substring. A comparação de cadeia de caracteres diferencia maiúsculas de minúsculas. No entanto, ao testar se um objeto contém uma chave, a comparação não diferencia maiúsculas de minúsculas.
No Bicep, utilize a função contém .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
contentor | Sim | matriz, objeto ou cadeia de caracteres | O valor que contém o valor a ser localizado. |
itemToFind | Sim | string ou int | O valor a ser encontrado. |
Valor devolvido
True se o item for encontrado, caso contrário, False.
Exemplo
O exemplo a seguir mostra como usar contém com 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')]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
stringTrue | Bool | True |
stringFalse | Bool | False |
objectTrue | Bool | True |
objectFalse | Bool | False |
arrayTrue | Bool | True |
arrayFalse | Bool | False |
createArray
createArray(arg1, arg2, arg3, ...)
Cria uma matriz a partir dos parâmetros.
No Bicep, a createArray
função não é suportada. Para construir uma matriz, consulte o tipo de dados de matriz Bicep.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
args | Não | String, inteiro, matriz ou objeto | Os valores na matriz. |
Valor devolvido
Uma matriz. Quando nenhum parâmetro é fornecido, ele retorna uma matriz vazia.
Exemplo
O exemplo a seguir mostra como usar createArray com diferentes tipos:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"objectToTest": {
"type": "object",
"defaultValue": {
"one": "a",
"two": "b",
"three": "c"
}
},
"arrayToTest": {
"type": "array",
"defaultValue": [ "one", "two", "three" ]
}
},
"resources": [
],
"outputs": {
"stringArray": {
"type": "array",
"value": "[createArray('a', 'b', 'c')]"
},
"intArray": {
"type": "array",
"value": "[createArray(1, 2, 3)]"
},
"objectArray": {
"type": "array",
"value": "[createArray(parameters('objectToTest'))]"
},
"arrayArray": {
"type": "array",
"value": "[createArray(parameters('arrayToTest'))]"
},
"emptyArray": {
"type": "array",
"value": "[createArray()]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
stringArray | Matriz | ["a", "b", "c"] |
intArray | Matriz | [1, 2, 3] |
objectArray | Matriz | [{"um": "a", "dois": "b", "três": "c"}] |
arrayArray | Matriz | [["um", "dois", "três"]] |
emptyArray | Matriz | [] |
empty
empty(itemToTest)
Determina se uma matriz, objeto ou cadeia de caracteres está vazia.
No Bicep, use a função vazia .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
itemToTest | Sim | matriz, objeto ou cadeia de caracteres | O valor para verificar se está vazio. |
Valor devolvido
Retorna True se o valor estiver vazio, caso contrário, False.
Exemplo
O exemplo a seguir verifica se uma matriz, objeto e cadeia de caracteres estão vazios.
{
"$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'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayVazio | Bool | True |
objectEmpty | Bool | True |
stringEmpty | Bool | True |
Primeiro
first(arg1)
Retorna o primeiro elemento da matriz ou o primeiro caractere da cadeia de caracteres.
No Bicep, use a primeira função.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz ou cadeia de caracteres | O valor para recuperar o primeiro elemento ou caractere. |
Valor devolvido
O tipo (string, int, array ou object) do primeiro elemento de uma matriz ou o primeiro caractere de uma cadeia de caracteres.
Exemplo
O exemplo a seguir mostra como usar a primeira função com uma matriz e uma cadeia de caracteres.
{
"$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" ]
}
},
"resources": [
],
"outputs": {
"arrayOutput": {
"type": "string",
"value": "[first(parameters('arrayToTest'))]"
},
"stringOutput": {
"type": "string",
"value": "[first('One Two Three')]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayOutput | String | um |
stringOutput | String | O |
indexOf
indexOf(arrayToSearch, itemToFind)
Retorna um inteiro para o índice da primeira ocorrência de um item em uma matriz. A comparação diferencia maiúsculas de minúsculas para cadeias de caracteres.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
arrayToSearch | Sim | matriz | A matriz a ser usada para localizar o índice do item pesquisado. |
itemToFind | Sim | int, string, array ou objeto | O item a ser encontrado na matriz. |
Valor devolvido
Um inteiro que representa o primeiro índice do item na matriz. O índice é baseado em zero. Se o item não for encontrado, -1 será devolvido.
Exemplos
O exemplo a seguir mostra como usar as funções indexOf e lastIndexOf:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"names": [
"one",
"two",
"three"
],
"numbers": [
4,
5,
6
],
"collection": [
"[variables('names')]",
"[variables('numbers')]"
],
"duplicates": [
1,
2,
3,
1
]
},
"resources": [],
"outputs": {
"index1": {
"type": "int",
"value": "[lastIndexOf(variables('names'), 'two')]"
},
"index2": {
"type": "int",
"value": "[indexOf(variables('names'), 'one')]"
},
"notFoundIndex1": {
"type": "int",
"value": "[lastIndexOf(variables('names'), 'Three')]"
},
"index3": {
"type": "int",
"value": "[lastIndexOf(variables('numbers'), 4)]"
},
"index4": {
"type": "int",
"value": "[indexOf(variables('numbers'), 6)]"
},
"notFoundIndex2": {
"type": "int",
"value": "[lastIndexOf(variables('numbers'), '5')]"
},
"index5": {
"type": "int",
"value": "[indexOf(variables('collection'), variables('numbers'))]"
},
"index6": {
"type": "int",
"value": "[indexOf(variables('duplicates'), 1)]"
},
"index7": {
"type": "int",
"value": "[lastIndexOf(variables('duplicates'), 1)]"
}
}
}
A saída do exemplo anterior é:
Nome | Tipo | valor |
---|---|---|
índice1 | número inteiro | 1 |
índice2 | número inteiro | 0 |
Índice3 | número inteiro | 0 |
Índice4 | número inteiro | 2 |
Índice5 | número inteiro | 1 |
Índice6 | número inteiro | 0 |
Índice7 | número inteiro | 3 |
notFoundIndex1 | número inteiro | -1 |
notFoundIndex2 | número inteiro | -1 |
intersecção
intersection(arg1, arg2, arg3, ...)
Retorna uma única matriz ou objeto com os elementos comuns dos parâmetros.
No Bicep, use a função de interseção .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz ou objeto | O primeiro valor a ser usado para localizar elementos comuns. |
Arg2 | Sim | matriz ou objeto | O segundo valor a ser usado para localizar elementos comuns. |
Mais argumentos | Não | matriz ou objeto | Mais valores a serem usados para encontrar elementos comuns. |
Valor devolvido
Uma matriz ou objeto com os elementos comuns.
Exemplo
O exemplo a seguir mostra como usar a interseção com matrizes e 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'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
objectOutput | Object | {"um": "a", "três": "c"} |
arrayOutput | Matriz | ["dois", "três"] |
Último
last(arg1)
Retorna o último elemento da matriz ou o último caractere da cadeia de caracteres.
No Bicep, use a última função.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz ou cadeia de caracteres | O valor para recuperar o último elemento ou caractere. |
Valor devolvido
O tipo (string, int, array ou object) do último elemento de uma matriz ou o último caractere de uma cadeia de caracteres.
Exemplo
O exemplo a seguir mostra como usar a última função com uma matriz e uma cadeia de caracteres.
{
"$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" ]
}
},
"resources": [
],
"outputs": {
"arrayOutput": {
"type": "string",
"value": "[last(parameters('arrayToTest'))]"
},
"stringOutput": {
"type": "string",
"value": "[last('One Two Three')]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayOutput | String | três |
stringOutput | String | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Retorna um inteiro para o índice da última ocorrência de um item em uma matriz. A comparação diferencia maiúsculas de minúsculas para cadeias de caracteres.
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
arrayToSearch | Sim | matriz | A matriz a ser usada para localizar o índice do item pesquisado. |
itemToFind | Sim | int, string, array ou objeto | O item a ser encontrado na matriz. |
Valor devolvido
Um inteiro que representa o último índice do item na matriz. O índice é baseado em zero. Se o item não for encontrado, -1 será devolvido.
Exemplos
O exemplo a seguir mostra como usar as funções indexOf e lastIndexOf:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"names": [
"one",
"two",
"three"
],
"numbers": [
4,
5,
6
],
"collection": [
"[variables('names')]",
"[variables('numbers')]"
],
"duplicates": [
1,
2,
3,
1
]
},
"resources": [],
"outputs": {
"index1": {
"type": "int",
"value": "[lastIndexOf(variables('names'), 'two')]"
},
"index2": {
"type": "int",
"value": "[indexOf(variables('names'), 'one')]"
},
"notFoundIndex1": {
"type": "int",
"value": "[lastIndexOf(variables('names'), 'Three')]"
},
"index3": {
"type": "int",
"value": "[lastIndexOf(variables('numbers'), 4)]"
},
"index4": {
"type": "int",
"value": "[indexOf(variables('numbers'), 6)]"
},
"notFoundIndex2": {
"type": "int",
"value": "[lastIndexOf(variables('numbers'), '5')]"
},
"index5": {
"type": "int",
"value": "[indexOf(variables('collection'), variables('numbers'))]"
},
"index6": {
"type": "int",
"value": "[indexOf(variables('duplicates'), 1)]"
},
"index7": {
"type": "int",
"value": "[lastIndexOf(variables('duplicates'), 1)]"
}
}
}
A saída do exemplo anterior é:
Nome | Tipo | valor |
---|---|---|
índice1 | número inteiro | 1 |
índice2 | número inteiro | 0 |
Índice3 | número inteiro | 0 |
Índice4 | número inteiro | 2 |
Índice5 | número inteiro | 1 |
Índice6 | número inteiro | 0 |
Índice7 | número inteiro | 3 |
notFoundIndex1 | número inteiro | -1 |
notFoundIndex2 | número inteiro | -1 |
length
length(arg1)
Retorna o número de elementos em uma matriz, caracteres em uma cadeia de caracteres ou propriedades de nível raiz em um objeto.
No Bicep, use a função de comprimento .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz, cadeia de caracteres ou objeto | A matriz a ser usada para obter o número de elementos, a cadeia de caracteres a ser usada para obter o número de caracteres ou o objeto a ser usado para obter o número de propriedades de nível raiz. |
Valor devolvido
Um int.
Exemplo
O exemplo a seguir mostra como usar o comprimento com uma matriz e uma cadeia de caracteres.
{
"$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'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayLength | Int | 3 |
stringLength | Int | 13 |
objectLength | Int | 4 |
Você pode usar essa função com uma matriz para especificar o número de iterações ao criar recursos. No exemplo a seguir, o parâmetro siteNames se referiria a uma matriz de nomes a serem usados ao criar os sites.
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Para obter mais informações sobre como usar essa função com uma matriz, consulte Iteração de recursos em modelos ARM.
max
max(arg1)
Devolve o valor máximo de uma matriz de inteiros ou de uma lista de inteiros separada por vírgula.
No Bicep, utilize a função max .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz de inteiros ou lista de inteiros separados por vírgulas | A coleção para obter o valor máximo. |
Valor devolvido
Um int que representa o valor máximo.
Exemplo
O exemplo a seguir mostra como usar max com uma matriz e uma lista de inteiros.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"arrayToTest": {
"type": "array",
"defaultValue": [ 0, 3, 2, 5, 4 ]
}
},
"resources": [],
"outputs": {
"arrayOutput": {
"type": "int",
"value": "[max(parameters('arrayToTest'))]"
},
"intOutput": {
"type": "int",
"value": "[max(0,3,2,5,4)]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Devolve o valor mínimo de uma matriz de inteiros ou de uma lista de inteiros separada por vírgula.
No Bicep, use a função min .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz de inteiros ou lista de inteiros separados por vírgulas | A coleção para obter o valor mínimo. |
Valor devolvido
Um int que representa o valor mínimo.
Exemplo
O exemplo a seguir mostra como usar min com uma matriz e uma lista de inteiros.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"arrayToTest": {
"type": "array",
"defaultValue": [ 0, 3, 2, 5, 4 ]
}
},
"resources": [],
"outputs": {
"arrayOutput": {
"type": "int",
"value": "[min(parameters('arrayToTest'))]"
},
"intOutput": {
"type": "int",
"value": "[min(0,3,2,5,4)]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
range
range(startIndex, count)
Cria uma matriz de inteiros a partir de um inteiro inicial e contendo vários itens.
No Bicep, use a função de intervalo .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
startIndex | Sim | número inteiro | O primeiro inteiro na matriz. A soma de startIndex e count não deve ser maior que 2147483647. |
contagem | Sim | número inteiro | O número de inteiros na matriz. Deve ser inteiro não negativo até 10000. |
Valor devolvido
Uma matriz de inteiros.
Exemplo
O exemplo a seguir mostra como usar a função range.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"startingInt": {
"type": "int",
"defaultValue": 5
},
"numberOfElements": {
"type": "int",
"defaultValue": 3
}
},
"resources": [],
"outputs": {
"rangeOutput": {
"type": "array",
"value": "[range(parameters('startingInt'),parameters('numberOfElements'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
intervaloSaída | Matriz | [5, 6, 7] |
skip
skip(originalValue, numberToSkip)
Retorna uma matriz com todos os elementos após o número especificado na matriz ou retorna uma cadeia de caracteres com todos os caracteres após o número especificado na cadeia de caracteres.
No Bíceps, use a função skip .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
originalValor | Sim | matriz ou cadeia de caracteres | A matriz ou cadeia de caracteres a ser usada para ignorar. |
númeroToSkip | Sim | número inteiro | O número de elementos ou caracteres a ignorar. Se esse valor for 0 ou menos, todos os elementos ou caracteres no valor serão retornados. Se for maior do que o comprimento da matriz ou cadeia de caracteres, uma matriz ou cadeia de caracteres vazia será retornada. |
Valor devolvido
Uma matriz ou cadeia de caracteres.
Exemplo
O exemplo a seguir ignora o número especificado de elementos na matriz e o número especificado de caracteres em uma cadeia de caracteres.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testArray": {
"type": "array",
"defaultValue": [
"one",
"two",
"three"
]
},
"elementsToSkip": {
"type": "int",
"defaultValue": 2
},
"testString": {
"type": "string",
"defaultValue": "one two three"
},
"charactersToSkip": {
"type": "int",
"defaultValue": 4
}
},
"resources": [],
"outputs": {
"arrayOutput": {
"type": "array",
"value": "[skip(parameters('testArray'),parameters('elementsToSkip'))]"
},
"stringOutput": {
"type": "string",
"value": "[skip(parameters('testString'),parameters('charactersToSkip'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayOutput | Matriz | ["três"] |
stringOutput | String | dois três |
take
take(originalValue, numberToTake)
Retorna uma matriz ou cadeia de caracteres. Uma matriz tem o número especificado de elementos desde o início da matriz. Uma cadeia de caracteres tem o número especificado de caracteres desde o início da cadeia de caracteres.
No Bicep, use a função take .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
originalValor | Sim | matriz ou cadeia de caracteres | A matriz ou cadeia de caracteres da qual retirar os elementos. |
númeroToTake | Sim | número inteiro | O número de elementos ou caracteres a serem levados. Se esse valor for 0 ou menos, uma matriz ou cadeia de caracteres vazia será retornada. Se for maior do que o comprimento de uma determinada matriz ou cadeia de caracteres, todos os elementos na matriz ou cadeia de caracteres serão retornados. |
Valor devolvido
Uma matriz ou cadeia de caracteres.
Exemplo
O exemplo a seguir usa o número especificado de elementos da matriz e caracteres de uma cadeia de caracteres.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"testArray": {
"type": "array",
"defaultValue": [
"one",
"two",
"three"
]
},
"elementsToTake": {
"type": "int",
"defaultValue": 2
},
"testString": {
"type": "string",
"defaultValue": "one two three"
},
"charactersToTake": {
"type": "int",
"defaultValue": 2
}
},
"resources": [],
"outputs": {
"arrayOutput": {
"type": "array",
"value": "[take(parameters('testArray'),parameters('elementsToTake'))]"
},
"stringOutput": {
"type": "string",
"value": "[take(parameters('testString'),parameters('charactersToTake'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
arrayOutput | Matriz | ["um", "dois"] |
stringOutput | String | em |
união
union(arg1, arg2, arg3, ...)
Retorna uma única matriz ou objeto com todos os elementos dos parâmetros. Para matrizes, valores duplicados são incluídos uma vez. Para objetos, nomes de propriedade duplicados são incluídos apenas uma vez.
No Bicep, use a função de união .
Parâmetros
Parâmetro | Necessário | Type | Description |
---|---|---|---|
Arg1 | Sim | matriz ou objeto | O primeiro valor a ser usado para unir elementos. |
Arg2 | Sim | matriz ou objeto | O segundo valor a ser usado para unir elementos. |
Mais argumentos | Não | matriz ou objeto | Mais valores para usar para unir elementos. |
Valor devolvido
Uma matriz ou objeto.
Observações
A função união usa a sequência dos parâmetros para determinar a ordem e os valores do resultado.
Para matrizes, a função itera através de cada elemento no primeiro parâmetro e adiciona-o ao resultado se ainda não estiver presente. Em seguida, ele repete o processo para o segundo parâmetro e quaisquer outros parâmetros. Se um valor já estiver presente, seu posicionamento anterior na matriz será preservado.
Para objetos, nomes de propriedade e valores do primeiro parâmetro são adicionados ao resultado. Para parâmetros posteriores, quaisquer novos nomes são adicionados ao resultado. Se um parâmetro posterior tiver uma propriedade com o mesmo nome, esse valor substituirá o valor existente. A ordem das propriedades não é garantida.
A função união mescla não apenas os elementos de nível superior, mas também mescla recursivamente quaisquer objetos aninhados dentro deles. Os valores de matriz aninhada não são mesclados. Veja o segundo exemplo na seção a seguir.
Exemplo
O exemplo a seguir mostra como usar a união com matrizes e 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'))]"
}
}
}
A saída do exemplo anterior com os valores padrão é:
Nome | Tipo | valor |
---|---|---|
objectOutput | Object | {"um": "a", "dois": "b", "três": "c2", "quatro": "d", "cinco": "e"} |
arrayOutput | Matriz | ["um", "dois", "três", "quatro"] |
O exemplo a seguir mostra a capacidade de mesclagem 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'))]"
}
}
}
A saída do exemplo anterior é:
Nome | Tipo | valor |
---|---|---|
objectOutput | Object | {"propriedade":{"um":"a","dois":"b","três":"c2","quatro":"d","cinco":"e"},"nestedArray":[3,4]} |
arrayOutput | Matriz | [["um","dois"],["três"],["quatro","dois"]] |
Se matrizes aninhadas fossem mescladas, o valor de objectOutput.nestedArray seria [1, 2, 3, 4] e o valor de arrayOutput seria [["um", "dois", "três"], ["três", "quatro", "dois"]].
Próximos passos
- Para obter uma descrição das seções em um modelo ARM, consulte Compreender a estrutura e a sintaxe dos modelos ARM.