Fonctions numériques pour les modèles ARM
Resource Manager fournit les fonctions ci-après pour travailler avec des entiers dans votre modèle Azure Resource Manager (modèle ARM) :
Conseil
Nous recommandons Bicep parce qu’il offre les mêmes fonctionnalités que les modèles ARM et que la syntaxe est plus facile d’utilisation. Pour en savoir plus sur l’utilisation de int
, min
et max
dans Bicep, consultez les fonctions int
. Pour les autres valeurs numériques, consultez les opérateurs numériques.
add
add(operand1, operand2)
Retourne la somme des deux entiers fournis.
La fonction add
n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur +
.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
operand1 | Oui | int | Premier nombre à ajouter. |
operand2 | Oui | int | Deuxième nombre à ajouter. |
Valeur de retour
Entier qui contient la somme des paramètres.
Exemple
L’exemple suivant ajoute deux paramètres.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"first": {
"type": "int",
"defaultValue": 5,
"metadata": {
"description": "First integer to add"
}
},
"second": {
"type": "int",
"defaultValue": 3,
"metadata": {
"description": "Second integer to add"
}
}
},
"resources": [
],
"outputs": {
"addResult": {
"type": "int",
"value": "[add(parameters('first'), parameters('second'))]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Retourne l’index d’une boucle d’itération.
Dans Bicep, utilisez des boucles itératives.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
loopName | Non | string | Nom de la boucle pour l’obtention de l’itération. |
offset | Non | int | Le nombre à ajouter à la valeur d’itération de base zéro. |
Remarques
Cette fonction est toujours utilisée avec un objet copy . Si aucune valeur n’est fournie pour offset, la valeur d’itération actuelle est retournée. La valeur d’itération commence à zéro.
La propriété loopName permet d’indiquer si copyIndex fait référence à une itération de ressource ou de propriété. Si aucune valeur n’est indiquée pour loopName, l’itération du type de ressource actuelle est utilisée. Indiquez une valeur pour loopName lors de l’itération sur une propriété.
Pour plus d’informations sur l’utilisation de copy, voir :
- Itération de ressource dans les modèles ARM
- Itération de propriété dans les modèles ARM
- Itération de variable dans les modèles ARM
- Itération de sortie dans les modèles ARM
Exemple
L’exemple suivant montre une boucle de copie ainsi que la valeur d’index incluse dans le nom.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageCount": {
"type": "int",
"defaultValue": 2
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-09-01",
"name": "[format('{0}storage{1}', range(0, parameters('storageCount'))[copyIndex()], uniqueString(resourceGroup().id))]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {},
"copy": {
"name": "storagecopy",
"count": "[parameters('storageCount')]"
}
}
]
}
Valeur de retour
Entier représentant l’index actuel de l’itération.
div
div(operand1, operand2)
Retourne la division entière des deux entiers fournis.
La fonction div
n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur /
.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
operand1 | Oui | int | Le nombre à diviser. |
operand2 | Oui | int | Le nombre utilisé pour diviser. Ne peut pas être 0. |
Valeur de retour
Entier représentant la division.
Exemple
L’exemple suivant divise un paramètre par un autre paramètre.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"first": {
"type": "int",
"defaultValue": 8,
"metadata": {
"description": "Integer being divided"
}
},
"second": {
"type": "int",
"defaultValue": 3,
"metadata": {
"description": "Integer used to divide"
}
}
},
"resources": [
],
"outputs": {
"divResult": {
"type": "int",
"value": "[div(parameters('first'), parameters('second'))]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
divResult | Int | 2 |
float
float(arg1)
Convertit la valeur en nombre à virgule flottante. Vous utilisez uniquement cette fonction lors de la transmission de paramètres personnalisés à une application, telle qu’une application logique.
La fonction float
n’est pas prise en charge dans Bicep.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
arg1 | Oui | chaîne ou entier | Valeur à convertir en nombre à virgule flottante. |
Valeur de retour
Nombre à virgule flottante.
Exemple
L’exemple suivant montre comment utiliser float pour passer des paramètres à une application logique :
{
"type": "Microsoft.Logic/workflows",
"properties": {
...
"parameters": {
"custom1": {
"value": "[float('3.0')]"
},
"custom2": {
"value": "[float(3)]"
},
int
int(valueToConvert)
Convertit la valeur spécifiée en entier.
Dans Bicep, utilisez la fonction int.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
valueToConvert | Oui | chaîne ou entier | La valeur à convertir en entier. |
Valeur de retour
Nombre entier de la valeur convertie.
Exemple
Dans l’exemple de modèle suivant, vous convertissez la valeur de paramètre fournie par l’utilisateur en un entier.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"stringToConvert": {
"type": "string",
"defaultValue": "4"
}
},
"resources": [
],
"outputs": {
"intResult": {
"type": "int",
"value": "[int(parameters('stringToConvert'))]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
intResult | Int | 4 |
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 | Description |
---|---|---|---|
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 de la collection.
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 de l’exemple précédent avec les valeurs par défaut se présente comme suit :
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 | Description |
---|---|---|---|
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 de la collection.
Exemple
L’exemple suivant indique comment utiliser la fonction 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 de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
mod
mod(operand1, operand2)
Retourne le reste de la division entière des deux entiers fournis.
La fonction mod
n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur %.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
operand1 | Oui | int | Le nombre à diviser. |
operand2 | Oui | int | Le nombre utilisé pour diviser, ne peut pas être 0. |
Valeur retournée
Entier représentant le reste.
Exemple
L’exemple suivant renvoie le reste de la division d’un paramètre par un autre paramètre.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"first": {
"type": "int",
"defaultValue": 7,
"metadata": {
"description": "Integer being divided"
}
},
"second": {
"type": "int",
"defaultValue": 3,
"metadata": {
"description": "Integer used to divide"
}
}
},
"resources": [
],
"outputs": {
"modResult": {
"type": "int",
"value": "[mod(parameters('first'), parameters('second'))]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
modResult | Int | 1 |
mul
mul(operand1, operand2)
Retourne la multiplication des deux entiers fournis.
La fonction mul
n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur *.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
operand1 | Oui | int | Premier nombre à multiplier. |
operand2 | Oui | int | Deuxième nombre à multiplier. |
Valeur de retour
Entier représentant la multiplication.
Exemple
L’exemple suivant multiplie un paramètre par un autre paramètre.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"first": {
"type": "int",
"defaultValue": 5,
"metadata": {
"description": "First integer to multiply"
}
},
"second": {
"type": "int",
"defaultValue": 3,
"metadata": {
"description": "Second integer to multiply"
}
}
},
"resources": [
],
"outputs": {
"mulResult": {
"type": "int",
"value": "[mul(mul(parameters('first'), parameters('second')), 3)]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
mulResult | Int | 45 |
sub
sub(operand1, operand2)
Retourne la soustraction des deux entiers fournis.
La fonction sub
n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur -.
Paramètres
Paramètre | Obligatoire | Type | Description |
---|---|---|---|
operand1 | Oui | int | Le nombre auquel est appliquée la soustraction. |
operand2 | Oui | int | Le nombre qui est soustrait. |
Valeur de retour
Entier représentant la multiplication.
Exemple
L’exemple suivant soustrait un paramètre à un autre paramètre.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"first": {
"type": "int",
"defaultValue": 7,
"metadata": {
"description": "Integer subtracted from"
}
},
"second": {
"type": "int",
"defaultValue": 3,
"metadata": {
"description": "Integer to subtract"
}
}
},
"resources": [
],
"outputs": {
"subResult": {
"type": "int",
"value": "[sub(parameters('first'), parameters('second'))]"
}
}
}
La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :
Nom | Type | Valeur |
---|---|---|
subResult | Int | 4 |
Étapes suivantes
- Pour obtenir une description des sections d’un modèle ARM, consultez Comprendre la structure et la syntaxe des modèles ARM.
- Pour itérer un nombre spécifié lors de la création d’un type de ressource, consultez Itération de ressource dans les modèles ARM.