Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive le funzioni modello operare con le matrici.
Per ottenere una matrice di valori stringa delimitata da un valore, vedere split.
Suggerimento
È consigliabile usare Bicep perché offre le stesse funzionalità dei modelli arm e la sintassi è più facile da usare. Per altre informazioni, vedere array Funzioni.
array
array(convertToArray)
Converte il valore in matrice.
In Bicep usare la array funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| convertToArray | Sì | int, stringa, matrice o oggetto | Valore da convertire in matrice. |
Valore restituito
Matrice .
Esempio
L'esempio seguente illustra come usare la array funzione con tipi diversi:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| intOutput | Matrice | [1] |
| stringOutput | Matrice | ["efgh"] |
| objectOutput | Matrice | [{"a": "b", "c": "d"}] |
concat
concat(arg1, arg2, arg3, ...)
Combina più matrici e restituisce la matrice concatenata oppure combina più valori di stringa e restituisce la stringa concatenata.
In Bicep usare la concat funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | stringa o matrice | La prima matrice o stringa per la concatenazione. |
| altri argomenti | NO | stringa o matrice | Matrici o stringhe aggiuntive in ordine sequenziale per la concatenazione. |
Questa funzione può accettare un numero qualsiasi di argomenti e può accettare stringhe o matrici per i parametri. Tuttavia, non è possibile fornire matrici e stringhe per i parametri. Le matrici sono concatenate solo con altre matrici.
Valore restituito
Stringa o matrice di valori concatenati.
Esempio
L'esempio seguente illustra come combinare due matrici:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| ritorno | Matrice | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
Nell'esempio seguente viene illustrato come combinare due valori stringa e restituire una stringa concatenata:
{
"$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))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| concatOutput | Stringa | prefix-5yj4yjf5mbg72 |
contiene
contains(container, itemToFind)
Controlla se una matrice contiene un valore, un oggetto contiene una chiave o una stringa contiene una sottostringa. Il confronto fra stringhe fa distinzione tra maiuscole e minuscole. Tuttavia, quando si testa se un oggetto contiene una chiave, il confronto non fa distinzione tra maiuscole e minuscole.
In Bicep usare la contains funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| container | Sì | matrice, oggetto o stringa | Valore che contiene il valore da trovare. |
| itemToFind | Sì | stringa o numero intero | Valore da trovare. |
Valore restituito
True se l'elemento viene individuato; in caso contrario, restituisce False.
Esempio
L'esempio seguente illustra come usare contains con tipi diversi:
{
"$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')]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| stringTrue | Bool | Vero |
| stringFalse | Bool | Falso |
| objectTrue | Bool | Vero |
| objectFalse | Bool | Falso |
| arrayTrue | Bool | Vero |
| arrayFalse | Bool | Falso |
createArray
createArray(arg1, arg2, arg3, ...)
Crea una matrice dai parametri.
La funzione createArray non è supportata in Bicep. Per costruire una matrice, vedere il tipo di dati della matriceBicep.
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| argomenti | NO | Stringa, numero intero, matrice o oggetto | I valori nella matrice. |
Valore restituito
Matrice . Quando non vengono forniti parametri, restituisce una matrice vuota.
Esempio
L'esempio seguente illustra come usare createArray con tipi diversi:
{
"$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()]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| stringArray | Matrice | ["a", "b", "c"] |
| intArray | Matrice | [1, 2, 3] |
| objectArray | Matrice | [{"one": "a", "two": "b", "three": "c"}] |
| arrayArray | Matrice | [["one", "two", "three"]] |
| emptyArray | Matrice | [] |
vuoto
empty(itemToTest)
Determina se una matrice, un oggetto o una stringa sono vuoti.
In Bicep usare la empty funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| itemToTest | Sì | matrice, oggetto o stringa | Il valore per controllare se è vuota. |
Valore restituito
True se il valore è vuoto; in caso contrario, restituisce False.
Esempio
Nell'esempio seguente viene verificato se una matrice, un oggetto e una stringa sono vuote:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayEmpty | Bool | Vero |
| objectEmpty | Bool | Vero |
| stringEmpty | Bool | Vero |
primo
first(arg1)
Restituisce il primo elemento della matrice o il primo carattere della stringa.
In Bicep usare la first funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | stringa o matrice | Valore per recuperare il primo elemento o carattere. |
Valore restituito
Il tipo (string, int, array o object) del primo elemento di una matrice o il primo carattere di una stringa.
Esempio
L'esempio seguente illustra come usare la first funzione con una matrice e una stringa:
{
"$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')]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayOutput | Stringa | Uno |
| stringOutput | Stringa | o |
indexFromEnd
indexFromEnd(sourceArray, reverseIndex)
Restituisce un elemento della matrice contando all'indietro dalla fine. Ciò è utile quando si desidera fare riferimento agli elementi a partire dalla fine di un elenco anziché dall'inizio. La tryIndexFromEnd funzione è una versione sicura di indexFromEnd.
In Bicep usare l'operatore di accesso Reserved index .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| sourceArray | Sì | array | Valore per recuperare l'elemento contando all'indietro dalla fine. |
| reverseIndex | Sì | numero intero | Indice in base uno dalla fine della matrice. |
Valore restituito
Un singolo elemento di una matrice, selezionato contando all'indietro dalla fine della matrice.
Esempio
L'esempio seguente illustra come usare la funzione indexFromEnd:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"items": [
"apple",
"banana",
"orange",
"grape"
]
},
"resources": [],
"outputs": {
"secondToLast": {
"type": "string",
"value": "[indexFromEnd(variables('items'), 2)]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| secondToLast | Stringa | arancione |
indexOf
indexOf(arrayToSearch, itemToFind)
Restituisce un numero intero per l'indice della prima occorrenza di un elemento in una matrice. Il confronto è case sensitive (sensibile alle maiuscole) per le stringhe.
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arrayToSearch | Sì | array | La matrice da usare per trovare l'indice dell'elemento cercato. |
| itemToFind | Sì | int, stringa, matrice o oggetto | L’elemento da trovare nella matrice. |
Valore restituito
Un intero che rappresenta il primo indice dell'elemento nella matrice. L’indice è in base zero. Se l'elemento non viene trovato, viene restituito -1.
Esempi
Nell'esempio seguente viene illustrato come utilizzare le funzioni 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)]"
}
}
}
L'output dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| index1 | Int | 1 |
| index2 | Int | 0 |
| index3 | Int | 0 |
| index4 | Int | 2 |
| index5 | Int | 1 |
| index6 | Int | 0 |
| index7 | Int | 3 |
| notFoundIndex1 | Int | -1 |
| notFoundIndex2 | Int | -1 |
intersezione
intersection(arg1, arg2, arg3, ...)
Restituisce una matrice o un oggetto singoli con gli elementi comuni dei parametri.
In Bicep usare la intersection funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | matrice o oggetto | Primo valore da usare per cercare elementi comuni. |
| arg2 | Sì | matrice o oggetto | Secondo valore da usare per cercare elementi comuni. |
| altri argomenti | NO | matrice o oggetto | Valori aggiuntivi da usare per cercare elementi comuni. |
Valore restituito
Una matrice o un oggetto con elementi comuni.
Esempio
L'esempio seguente illustra come usare intersection con matrici e oggetti:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| objectOutput | Oggetto | {"one": "a", "three": "c"} |
| arrayOutput | Matrice | ["two", "three"] |
ultimo
last(arg1)
Restituisce l'ultimo elemento della matrice o l'ultimo carattere della stringa.
In Bicep usare la last funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | stringa o matrice | Valore per recuperare l'ultimo elemento o carattere. |
Valore restituito
Il tipo (string, int, array o object) dell'ultimo elemento di una matrice o l'ultimo carattere di una stringa.
Esempio
L'esempio seguente illustra come usare la last funzione con una matrice e una stringa:
{
"$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')]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayOutput | Stringa | tre |
| stringOutput | Stringa | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Restituisce un intero per l'indice dell'ultima occorrenza di un elemento in una matrice. Il confronto è case sensitive (sensibile alle maiuscole) per le stringhe.
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arrayToSearch | Sì | array | La matrice da usare per trovare l'indice dell'elemento cercato. |
| itemToFind | Sì | int, stringa, matrice o oggetto | L’elemento da trovare nella matrice. |
Valore restituito
Un intero che rappresenta l'ultimo indice dell'elemento nella matrice. L’indice è in base zero. Se l'elemento non viene trovato, viene restituito -1.
Esempi
Nell'esempio seguente viene illustrato come utilizzare le funzioni 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)]"
}
}
}
L'output dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| index1 | Int | 1 |
| index2 | Int | 0 |
| index3 | Int | 0 |
| index4 | Int | 2 |
| index5 | Int | 1 |
| index6 | Int | 0 |
| index7 | Int | 3 |
| notFoundIndex1 | Int | -1 |
| notFoundIndex2 | Int | -1 |
lunghezza
length(arg1)
Restituisce il numero di elementi in una matrice, caratteri in una stringa o proprietà a livello radice in un oggetto .
In Bicep usare la length funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | matrice, stringa o oggetto | La matrice da utilizzare per ottenere il numero di elementi, la stringa da utilizzare per ottenere il numero di caratteri o l'oggetto da utilizzare per ottenere il numero di proprietà a livello radice. |
Valore restituito
Numero intero
Esempio
L'esempio seguente illustra come usare length con una matrice e una stringa:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| lunghezzaArray | int | 3 |
| stringLength | int | 13 |
| objectLength | int | 4 |
È possibile usare questa funzione con una matrice per specificare il numero di iterazioni durante la creazione di risorse. Nell'esempio seguente il parametro siteNames fa riferimento a una matrice di nomi da usare durante la creazione di siti Web:
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Per altre informazioni sull'uso di questa funzione con una matrice, vedere Iterazione delle risorse nei modelli di ARM.
massimo
max(arg1)
Restituisce il valore massimo da una matrice di numeri interi o da un elenco di numeri interi delimitato da virgole.
In Bicep usare la max funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | matrice di numeri interi o elenco di numeri interi delimitato da virgole | La raccolta per ottenere il valore massimo. |
Valore restituito
Numero intero che rappresenta il valore massimo.
Esempio
L'esempio seguente illustra come usare max con una matrice e un elenco di numeri interi:
{
"$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)]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayOutput | int | 5 |
| intOutput | int | 5 |
minuto
min(arg1)
Restituisce il valore minimo di una matrice di numeri interi o di un elenco di numeri interi delimitato da virgole.
In Bicep usare la min funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | matrice di numeri interi o elenco di numeri interi delimitato da virgole | La raccolta per ottenere il valore minimo. |
Valore restituito
Numero intero che rappresenta il valore minimo.
Esempio
L'esempio seguente illustra come usare min con una matrice e un elenco di numeri interi:
{
"$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)]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayOutput | int | 0 |
| intOutput | int | 0 |
range
range(startIndex, count)
Crea una matrice di numeri interi da un numero intero iniziale, contenente un dato numero di elementi.
In Bicep usare la range funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| startIndex | Sì | Int | Primo numero intero nella matrice. La somma di startIndex e count non deve essere maggiore di 2147483647. |
| numero | Sì | Int | Numero di valori interi della matrice. Deve essere un numero intero non negativo fino a 10000. |
Valore restituito
Matrice di numeri interi.
Esempio
L'esempio seguente illustra come usare la funzione 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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| rangeOutput | Matrice | [5, 6, 7] |
skip
skip(originalValue, numberToSkip)
Restituisce una matrice con tutti gli elementi dopo il numero specificato nella matrice stessa o una stringa con tutti i caratteri dopo il numero specificato nella stringa stessa.
In Bicep usare la skip funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| originalValue | Sì | stringa o matrice | Stringa o matrice da usare per i valori da ignorare. |
| numberToSkip | Sì | Int | Numero di elementi o caratteri da ignorare. Se il valore è minore o uguale a 0, vengono restituiti tutti gli elementi o i caratteri nel valore. Se il valore è maggiore della lunghezza della stringa o della matrice, viene restituita una stringa o una matrice vuota. |
Valore restituito
Stringa o matrice.
Esempio
Nell'esempio seguente viene ignorato il numero specificato di elementi nella matrice e il numero specificato di caratteri in una stringa:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayOutput | Matrice | ["three"] |
| stringOutput | Stringa | due tre |
prendere
take(originalValue, numberToTake)
Restituisce una matrice o una stringa. Una matrice con il numero specificato di elementi dall'inizio della matrice. Una stringa con il numero specificato di caratteri dall'inizio della stringa.
In Bicep usare la take funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| originalValue | Sì | stringa o matrice | Stringa o matrice da cui prendere gli elementi. |
| numberToTake | Sì | Int | Numero di elementi o caratteri da prendere. Se il valore è minore o uguale a 0, viene restituita una stringa o un matrice vuota. Se è maggiore della lunghezza della stringa o della matrice specificate, vengono restituiti tutti gli elementi nella stringa o nella matrice. |
Valore restituito
Stringa o matrice.
Esempio
L'esempio seguente accetta il numero specificato di elementi da una matrice e caratteri da una stringa:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| arrayOutput | Matrice | ["one", "two"] |
| stringOutput | Stringa | su |
tryGet
tryGet(itemToTest, keyOrIndex)
tryGet consente di evitare errori di distribuzione quando si tenta di accedere a una proprietà o a un indice inesistente in un oggetto o in una matrice. Se la chiave o l'indice specificato non esiste, tryGet restituisce Null anziché generare un errore.
In Bicep usare l'operatore safe-dereference .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| itemToTest | Sì | matrice, oggetto | Oggetto o matrice da esaminare. |
| keyOrIndex | Sì | stringa, int | Chiave o indice da recuperare dalla matrice o dall'oggetto . Nome di proprietà per oggetti o indici per le matrici. |
Valore restituito
Restituisce il valore in corrispondenza della chiave/indice, se presente. Restituisce Null se la chiave/indice è mancante o fuori dai limiti.
Esempio
Nell'esempio seguente viene verificato se una matrice, un oggetto e una stringa sono vuote:
{
"$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)]"
}
}
}
L'output dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| area geografica | Stringa | (NULL) |
| nome | Stringa | John Doe |
| firstColor | Stringa | Rosso |
tryIndexFromEnd
tryndexFromEnd(sourceArray, reverseIndex)
La tryIndexFromEnd funzione è una versione sicura di indexFromEnd. Recupera un valore da una matrice contando all'indietro dalla fine senza generare un errore se l'indice non è compreso nell'intervallo.
In Bicep usare l'operatore di accesso Reserved index e l'operatore Safe dereference .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| sourceArray | Sì | array | Valore per recuperare l'elemento contando all'indietro dalla fine. |
| reverseIndex | Sì | numero intero | Indice in base uno dalla fine della matrice. |
Valore restituito
Se l'indice è valido (all'interno dei limiti di matrice), restituisce l'elemento matrice in corrispondenza dell'indice inverso. Se l'indice non è compreso nell'intervallo, restituisce null anziché generare un errore.
Esempio
L'esempio seguente illustra come usare la funzione tryIndexFromEnd:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"items": [
"apple",
"banana",
"orange",
"grape"
]
},
"resources": [],
"outputs": {
"secondToLast": {
"type": "string",
"value": "[tryIndexFromEnd(variables('items'), 2)]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| secondToLast | Stringa | arancione |
L'esempio seguente illustra uno scenario non associato:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"languageVersion": "2.0",
"contentVersion": "1.0.0.0",
"parameters": {
"items": {
"type": "array",
"defaultValue": [
"apple",
"banana",
"orange",
"grape"
]
}
},
"resources": {},
"outputs": {
"outOfBound": {
"type": "string",
"nullable": true,
"value": "[tryIndexFromEnd(parameters('items'), 5)]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| outOfBound | Stringa | (null) |
union
union(arg1, arg2, arg3, ...)
Restituisce una matrice o un oggetto singoli con tutti gli elementi dei parametri. Per le matrici, i valori duplicati vengono inclusi una sola volta. Per gli oggetti, i nomi delle proprietà duplicati vengono inclusi una sola volta.
In Bicep usare la union funzione .
Parametri
| Parametro | Richiesto | Type | Descrizione |
|---|---|---|---|
| arg1 | Sì | matrice o oggetto | Primo valore da usare per l'aggiunta di elementi. |
| arg2 | Sì | matrice o oggetto | Secondo valore da usare per l'aggiunta di elementi. |
| altri argomenti | NO | matrice o oggetto | Valori aggiuntivi da usare per unire gli elementi. |
Valore restituito
Una matrice o un oggetto.
Osservazioni:
union function usa la sequenza dei parametri per determinare l'ordine e i valori del risultato.
Per le matrici, la funzione itera attraverso ogni elemento nel primo parametro e lo aggiunge al risultato, se non è già presente. Ripete quindi il processo per il secondo parametro e per gli altri parametri. Se un valore è già presente, la sua posizione precedente nella matrice viene mantenuta.
Per gli oggetti, i nomi delle proprietà e i valori del primo parametro vengono aggiunti al risultato. Per i parametri successivi, tutti i nuovi nomi vengono aggiunti al risultato. Se un parametro successivo ha una proprietà con stesso nome, tale valore sovrascrive il valore esistente. L'ordine delle proprietà non è garantito.
La union funzione non solo unisce gli elementi di primo livello, ma unisce in modo ricorsivo anche tutti gli oggetti annidati all'interno di essi. I valori di matrice annidati non vengono uniti. Vedere il secondo esempio nella sezione seguente.
Esempio
L'esempio seguente illustra come usare union con matrici e oggetti:
{
"$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'))]"
}
}
}
L'output dei valori predefiniti dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| objectOutput | Oggetto | {"one": "a", "two": "b", "three": "c2", "four": "d", "five": "e"} |
| arrayOutput | Matrice | ["one", "two", "three", "four"] |
L'esempio seguente mostra la funzionalità deep merge:
{
"$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'))]"
}
}
}
L'output dell'esempio precedente è:
| Nome | Type | Valore |
|---|---|---|
| objectOutput | Oggetto | {"property":{"one":"a","two":"b","three":"c2","four":"d","five":"e"},"nestedArray":[3,4]} |
| arrayOutput | Matrice | [["one","two"],["three"],["four","two"]] |
Se sono state unite matrici annidate, il valore di objectOutput.nestedArray è [1, 2, 3, 4], e il valore di arrayOutput è [["uno", "two", "three"], ["three", "four", "two"]].
Passaggi successivi
- Per una descrizione delle sezioni in un modello di ARM, vedere Comprendere la struttura e la sintassi dei modelli di ARM.