Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les fonctions de modèle pour l’utilisation de tableaux.
Pour obtenir un tableau de valeurs de chaîne délimitée par une valeur, consultez split.
Conseil
Bicep est recommandé, car il offre les mêmes fonctionnalités que les modèles ARM et la syntaxe est plus facile à utiliser. Pour en savoir plus, consultez array les fonctions.
tableau
array(convertToArray)
Convertit la valeur en tableau.
Dans Bicep, utilisez la fonction array.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| convertToArray | Oui | int, string, array ou object | Valeur à convertir en tableau. |
Valeur retournée
Tableau.
Exemple
L’exemple suivant montre comment utiliser la array fonction avec différents types :
{
"$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'))]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| intOutput | Tableau | [1] |
| stringOutput | Tableau | ["efgh"] |
| objectOutput | Tableau | [{"a » : « b », « c » : « d"}] |
concat
concat(arg1, arg2, arg3, ...)
Combine plusieurs tableaux et retourne le tableau concaténé, ou combine plusieurs valeurs de chaîne et renvoie la chaîne concaténée.
Dans Bicep, utilisez la fonction concat.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | tableau ou chaîne | Le premier tableau ou la première chaîne à concaténer. |
| arguments supplémentaires | Non | tableau ou chaîne | Tableaux ou chaînes supplémentaires en ordre séquentiel pour la concaténation. |
Cette fonction peut prendre un nombre quelconque d’arguments et accepter soit des chaînes, soit des tableaux pour les paramètres. Toutefois, vous ne pouvez pas fournir à la fois des tableaux et des chaînes pour les paramètres. Les tableaux sont concaténés uniquement avec d’autres tableaux.
Valeur retournée
Chaîne ou tableau de valeurs concaténées.
Exemple
L’exemple suivant montre comment combiner deux tableaux :
{
"$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'))]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| rendre | Tableau | ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"] |
L’exemple suivant montre comment combiner deux valeurs de chaîne et retourner une chaîne concaténée :
{
"$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))]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| concatOutput | Chaîne | prefix-5yj4yjf5mbg72 |
contient
contains(container, itemToFind)
Vérifie si un tableau contient une valeur, un objet contient une clé, ou une chaîne contient une sous-chaîne. La comparaison de chaînes est sensible à la casse. Cependant, quand vous testez si un objet contient une clé, la comparaison n’est pas sensible à la casse.
Dans Bicep, utilisez la fonction contains.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| conteneur | Oui | tableau, objet ou chaîne | La valeur qui contient la valeur à rechercher. |
| itemToFind | Oui | chaîne ou entier | La valeur à trouver. |
Valeur retournée
Vrai si la fonction trouve l’élément ; sinon, faux.
Exemple
L’exemple suivant montre comment utiliser contains avec différents types :
{
"$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 sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| stringTrue | Bool | Vrai |
| stringFalse | Bool | Faux |
| objectTrue | Bool | Vrai |
| objectFalse | Bool | Faux |
| arrayTrue | Bool | Vrai |
| arrayFalse | Bool | Faux |
createArray
createArray(arg1, arg2, arg3, ...)
Crée un tableau à partir des paramètres.
La fonction createArray n’est pas prise en charge dans Bicep. Pour construire un tableau, consultez le type de données du tableau array de Bicep.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| args | Non | Chaîne, entier, tableau ou objet | Valeurs dans le tableau. |
Valeur retournée
Tableau. Quand vous ne fournissez aucun paramètre, il retourne un tableau vide.
Exemple
L’exemple suivant montre comment utiliser createArray avec différents types :
{
"$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()]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| stringArray | Tableau | ["a », « b », « c"] |
| intArray | Tableau | [1, 2, 3] |
| objectArray | Tableau | [{"one » : « a », « two » : « b », « three » : « c"}] |
| arrayArray | Tableau | [["one », « two », « three"]] |
| emptyArray | Tableau | [] |
distinct
distinct(arrayToModify)
Retourne un nouveau tableau avec toutes les valeurs dupliquées retirées du tableau d’entrée. La fonction conserve l’ordre original de la première occurrence.
Dans Bicep, utilisez la fonction distinct.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arrayToModify | Oui | tableau | Le tableau pour supprimer les doublons. |
Valeur retournée
Un tableau contenant uniquement des éléments uniques du tableau d’entrée. L’ordre des éléments est préservé en fonction de leur première apparition.
Exemple
L’exemple suivant montre comment utiliser la distinct fonction avec différents types de tableaux.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"numbers": [ 1, 2, 2, 3, 1 ],
"names": [ "apple", "banana", "apple", "cherry" ],
"resources": [
{
"name": "storage1",
"type": "Microsoft.Storage/storageAccounts"
},
{
"name": "vm1",
"type": "Microsoft.Compute/virtualMachines"
},
{
"name": "storage1",
"type": "Microsoft.Storage/storageAccounts"
}
]
},
"outputs": {
"uniqueNumbers": {
"type": "array",
"value": "[distinct(variables('numbers'))]"
},
"uniqueNames": {
"type": "array",
"value": "[distinct(variables('names'))]"
},
"uniqueResources": {
"type": "array",
"value": "[distinct(variables('resources'))]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
| Nom | Type | Valeur |
|---|---|---|
| Nombres uniques | Tableau | [1, 2, 3] |
| uniqueNoms | Tableau | [« pomme », « banane », « cerise »] |
| uniqueRessources | Tableau | [{"nom » : « storage1 », « type » : « Microsoft. Storage/storageAccounts"}, {"name » : « vm1 », « type » : « Microsoft. Compute/virtualMachines"}] |
vide
empty(itemToTest)
Détermine si un tableau, un objet ou une chaîne est vide.
Dans Bicep, utilisez la fonction empty.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| itemToTest | Oui | tableau, objet ou chaîne | Valeur à vérifier pour voir si elle est vide. |
Valeur retournée
Retourne True si la valeur est vide ; sinon, False.
Exemple
L’exemple suivant vérifie si un tableau, un objet et une chaîne sont vides :
{
"$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 sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayEmpty | Bool | Vrai |
| objectEmpty | Bool | Vrai |
| stringEmpty | Bool | Vrai |
premier
first(arg1)
Retourne le premier élément du tableau ou le premier caractère de la chaîne.
Dans Bicep, utilisez la fonction first.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | tableau ou chaîne | La valeur permettant de récupérer le premier élément ou caractère. |
Valeur retournée
Type (chaîne, entier, tableau ou objet) du premier élément d’un tableau ou premier caractère d’une chaîne.
Exemple
L’exemple suivant montre comment utiliser la first fonction avec un tableau et une chaîne :
{
"$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')]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayOutput | Chaîne | Un |
| stringOutput | Chaîne | O |
indexFromEnd
indexFromEnd(sourceArray, reverseIndex)
Retourne un élément du tableau en comptant vers l’arrière à partir de la fin. Cette fonction est utile lorsque vous souhaitez référencer des éléments commençant par la fin d’une liste plutôt que par le début. La tryIndexFromEnd fonction est une version sécurisée de indexFromEnd.
Dans Bicep, utilisez l’opérateur d’accesseur d’index réservé .
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| sourceArray | Oui | tableau | Valeur à récupérer l’élément en comptant vers l’arrière à partir de la fin. |
| reverseIndex | Oui | entier | Index de base unique à partir de la fin du tableau. |
Valeur retournée
Élément unique d’un tableau, sélectionné en comptant vers l’arrière à partir de la fin du tableau.
Exemple
L’exemple suivant explique comment utiliser la indexFromEnd fonction :
{
"$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)]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| secondToLast | Chaîne | orange |
indexOf
indexOf(arrayToSearch, itemToFind)
Retourne un entier pour l’index de la première occurrence d’un élément dans un tableau. La comparaison respecte la casse pour les chaînes.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arrayToSearch | Oui | tableau | Tableau à utiliser pour rechercher l’index de l’élément recherché. |
| itemToFind | Oui | int, string, array ou object | Élément à rechercher dans le tableau. |
Valeur retournée
Entier représentant le premier index de l’élément dans le tableau. L’index est basé sur zéro. Si l’élément n’est pas trouvé, la fonction retourne -1.
Exemples
L’exemple suivant montre comment utiliser les indexOf fonctions et 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)]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| 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 |
carrefour
intersection(arg1, arg2, arg3, ...)
Retourne un tableau ou un objet unique avec les éléments communs à partir des paramètres.
Dans Bicep, utilisez la fonction intersection.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | objet ou tableau | La première valeur à utiliser pour rechercher des éléments communs. |
| arg2 | Oui | objet ou tableau | La seconde valeur à utiliser pour rechercher des éléments communs. |
| arguments supplémentaires | Non | objet ou tableau | Valeurs supplémentaires à utiliser pour rechercher des éléments communs. |
Valeur retournée
Tableau ou objet avec les éléments communs.
Exemple
L’exemple suivant montre comment utiliser intersection avec les tableaux et les objets :
{
"$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 sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| objectOutput | Objet | {"one » : « a », « three » : « c"} |
| arrayOutput | Tableau | ["two », « three"] |
dernier
last(arg1)
Retourne le dernier élément du tableau ou le dernier caractère de la chaîne.
Dans Bicep, utilisez la fonction last.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | tableau ou chaîne | La valeur permettant de récupérer le dernier élément ou caractère. |
Valeur retournée
Type (chaîne, entier, tableau ou objet) du dernier élément d’un tableau ou dernier caractère d’une chaîne.
Exemple
L’exemple suivant montre comment utiliser la last fonction avec un tableau et une chaîne :
{
"$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')]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayOutput | Chaîne | Trois |
| stringOutput | Chaîne | e |
lastIndexOf
lastIndexOf(arrayToSearch, itemToFind)
Retourne un entier pour l’index de la dernière occurrence d’un élément dans un tableau. La comparaison respecte la casse pour les chaînes.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arrayToSearch | Oui | tableau | Tableau à utiliser pour rechercher l’index de l’élément recherché. |
| itemToFind | Oui | int, string, array ou object | Élément à rechercher dans le tableau. |
Valeur retournée
Entier représentant le dernier index de l’élément dans le tableau. L’index est basé sur zéro. Si l’élément est introuvable, la valeur -1 est retournée.
Exemples
L’exemple suivant montre comment utiliser les indexOf fonctions et 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)]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| 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 |
longueur
length(arg1)
Retourne le nombre d’éléments d’un tableau, les caractères d’une chaîne ou les propriétés au niveau de la racine d’un objet.
Dans Bicep, utilisez la fonction length.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | tableau, chaîne ou objet | Tableau à utiliser pour l’obtention du nombre d’éléments, ou chaîne à utiliser pour l’obtention du nombre de caractères, ou l’objet à utiliser pour l’obtention du nombre de propriétés au niveau de la racine. |
Valeur retournée
Un entier.
Exemple
L’exemple suivant montre comment utiliser length avec un tableau et une chaîne :
{
"$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 sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayLength | Int | 3 |
| stringLength | Int | 13 |
| objectLength | Int | 4 |
Vous pouvez utiliser cette fonction avec un tableau pour spécifier le nombre d’itérations lors de la création de ressources. Dans l’exemple suivant, le paramètre siteNames fait référence à un ensemble de noms à utiliser lors de la création de sites web :
"copy": {
"name": "websitescopy",
"count": "[length(parameters('siteNames'))]"
}
Pour plus d’informations sur l’utilisation de cette fonction avec un tableau, consultez Itération sur des ressources dans les modèles ARM.
max
max(arg1)
Retourne la valeur minimale à partir d’un tableau d’entiers ou une liste séparée par des virgules d’entiers.
Dans Bicep, utilisez la fonction max.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | tableau d’entiers ou liste séparée par des virgules d’entiers | Collection permettant d’obtenir la valeur maximale. |
Valeur retournée
Entier représentant la valeur maximale.
Exemple
L’exemple suivant montre comment utiliser max avec un tableau et une liste d’entiers :
{
"$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)]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayOutput | Int | 5 |
| intOutput | Int | 5 |
Min
min(arg1)
Retourne la valeur minimale à partir d’un tableau d’entiers ou une liste séparée par des virgules d’entiers.
Dans Bicep, utilisez la fonction min.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | tableau d’entiers ou liste séparée par des virgules d’entiers | Collection permettant d’obtenir la valeur minimale. |
Valeur retournée
Entier représentant la valeur minimale.
Exemple
L’exemple suivant montre comment utiliser min avec un tableau et une liste d’entiers :
{
"$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)]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayOutput | Int | 0 |
| intOutput | Int | 0 |
range
range(startIndex, count)
Crée un tableau d’entiers à partir d’un entier de départ et contenant un nombre d’éléments.
Dans Bicep, utilisez la fonction range.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| index_début | Oui | Int | Premier entier du tableau. La somme de startIndex et count ne peut pas dépasser 2 147 483 647. |
| compter | Oui | Int | Nombre d’entiers dans le tableau. Doit être un entier non négatif jusqu’à 10 000. |
Valeur retournée
Tableau d’entiers.
Exemple
L’exemple suivant explique comment utiliser la range fonction :
{
"$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'))]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| rangeOutput | Tableau | [5, 6, 7] |
skip
skip(originalValue, numberToSkip)
Retourne un tableau avec tous les éléments après le nombre spécifié dans le tableau, ou retourne une chaîne avec tous les caractères après le nombre spécifié dans la chaîne.
Dans Bicep, utilisez la fonction skip.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| originalValue | Oui | tableau ou chaîne | Tableau ou chaîne à utiliser pour ignorer les caractères. |
| numberToSkip | Oui | Int | Nombre d’éléments ou de caractères à ignorer. Si cette valeur est nulle ou moins, la fonction retourne tous les éléments ou caractères de la valeur. Si elle est plus grande que la longueur du tableau ou de la chaîne, la fonction retourne un tableau ou une chaîne vide. |
Valeur retournée
Tableau ou chaîne.
Exemple
L’exemple suivant saute le nombre spécifié d’éléments dans le tableau ainsi que le nombre spécifié de caractères dans une chaîne :
{
"$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'))]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayOutput | Tableau | ["three"] |
| stringOutput | Chaîne | deux trois |
prendre
take(originalValue, numberToTake)
Retourne un tableau ou une chaîne. Un tableau possède le nombre spécifié d’éléments depuis le début du tableau. Une chaîne possède le nombre de caractères spécifié à partir du début de la chaîne.
Dans Bicep, utilisez la fonction take.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| originalValue | Oui | tableau ou chaîne | Tableau ou chaîne à partir duquel les éléments sont tirés. |
| numberToTake | Oui | Int | Nombre d’éléments ou de caractères à prendre. Si cette valeur est inférieure ou égale à 0, une chaîne ou un tableau vide est renvoyé. Si elle est supérieure à la longueur du tableau ou de la chaîne, tous les éléments du tableau ou de la chaîne sont retournés. |
Valeur retournée
Tableau ou chaîne.
Exemple
L’exemple suivant prend le nombre spécifié d’éléments d’un tableau et de caractères d’une chaîne :
{
"$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'))]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| arrayOutput | Tableau | ["one », « two"] |
| stringOutput | Chaîne | sur |
tryGet
tryGet(itemToTest, keyOrIndex)
tryGet vous permet d’éviter les échecs de déploiement lors de la tentative d’accès à une propriété ou à un index inexistant dans un objet ou un tableau. Si la clé ou l’index spécifié n’existe pas, tryGet elle retourne null au lieu de lancer une erreur.
Dans Bicep, utilisez l’opérateur safe-dereference .
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| itemToTest | Oui | Array, objet | Objet ou tableau à examiner. |
| keyOrIndex | Oui | chaîne, int | Clé ou index à récupérer à partir du tableau ou de l’objet. Nom de propriété pour les objets ou index pour les tableaux. |
Valeur retournée
Rend la valeur à la clé ou à l’indice si elle existe. Retour nul si la clé ou l’index est absent ou hors limites.
Exemple
L’exemple suivant vérifie si un tableau, un objet et une chaîne sont vides :
{
"$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)]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| région | Chaîne | (NULL) |
| nom | Chaîne | John Doe |
| firstColor | Chaîne | Rouge |
tryIndexFromEnd
tryIndexFromEnd(sourceArray, reverseIndex)
La tryIndexFromEnd fonction est une version sécurisée de indexFromEnd. Il récupère une valeur à partir d’un tableau en comptant vers l’arrière à partir de la fin sans générer d’erreur si l’index est hors limites.
Dans Bicep, utilisez l’opérateur d’accesseur d’index réservé et l’opérateur Dereference Safe .
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| sourceArray | Oui | tableau | Valeur à récupérer l’élément en comptant vers l’arrière à partir de la fin. |
| reverseIndex | Oui | entier | Index de base unique à partir de la fin du tableau. |
Valeur retournée
Si l’index est valide (dans les limites du tableau), retourne l’élément de tableau à cet index inverse. Si l’index est hors limites, retourne null au lieu de lever une erreur.
Exemple
L’exemple suivant explique comment utiliser la tryIndexFromEnd fonction :
{
"$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)]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| secondToLast | Chaîne | orange |
L’exemple suivant montre un scénario hors limites :
{
"$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)]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| outOfBound | Chaîne | (Null) |
union
union(arg1, arg2, arg3, ...)
Retourne un tableau ou un objet unique avec tous les éléments communs à partir des paramètres. Pour les tableaux, les valeurs en doublon ne sont incluses qu’une seule fois. Pour les objets, les noms de propriété en double ne sont inclus qu’une seule fois.
Dans Bicep, utilisez la fonction union.
Paramètres
| Paramètre | Obligatoire | Type | Descriptif |
|---|---|---|---|
| arg1 | Oui | objet ou tableau | La première valeur à utiliser pour joindre des éléments. |
| arg2 | Oui | objet ou tableau | La seconde valeur à utiliser pour joindre des éléments. |
| arguments supplémentaires | Non | objet ou tableau | Valeurs supplémentaires à utiliser pour joindre des éléments. |
Valeur retournée
Objet ou tableau.
Remarques
Il union function utilise la séquence des paramètres pour déterminer l’ordre et les valeurs du résultat.
Pour les tableaux, la fonction itère dans chaque élément du premier paramètre et l’ajouter au résultat s’il n’est pas déjà présent. Ensuite, il répète le processus pour le deuxième paramètre et pour les autres paramètres. Si une valeur est déjà présente, sa position antérieure dans le tableau est conservée.
Pour les objets, les noms et les valeurs des propriétés du premier paramètre sont ajoutés au résultat. Pour les paramètres suivants, tous les nouveaux noms sont ajoutés au résultat. Si un paramètre suivant a une propriété du même nom, cette valeur remplace la valeur existante. L’ordre des propriétés n’est pas garanti.
La union fonction fusionne non seulement les éléments de premier niveau, mais fusionne aussi récursivement tous les objets imbriqués en leur sein. Les valeurs de tableaux imbriqués ne sont pas fusionnées. Consultez le deuxième exemple dans la section suivante.
Exemple
L’exemple suivant montre comment utiliser union avec les tableaux et les objets :
{
"$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 sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| objectOutput | Objet | {"one » : « a », « two » : « b », « three » : « c2 », « four » : « d », « five » : « e"} |
| arrayOutput | Tableau | ["one », « two », « three », « four"] |
L’exemple suivant montre la fonctionnalité de fusion approfondie :
{
"$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'))]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| objectOutput | Objet | {"property » :{"one » :"a »,"two » :"b »,"three » :"c2 »,"four » :"d »,"five » :"e"},"nestedArray » :[3,4]} |
| arrayOutput | Tableau | [["one »,"two"],["three"],["four »,"two"]] |
Si des tableaux imbriqués étaient fusionnés, la valeur de objectOutput.nestedArray est [1, 2, 3, 4], et la valeur de ArrayOutput est [["un », « deux », « trois"], ["trois », « quatre », « deux"]].
Étapes suivantes
- Pour obtenir une description des sections d’un modèle ARM, consultez Comprendre la structure et la syntaxe des modèles ARM.