Numerische Funktionen für ARM-Vorlagen
Resource Manager stellt die folgenden Funktionen für das Arbeiten mit Zahlen in Ihren ARM-Vorlagen (Azure Resource Manager) bereit:
Tipp
Wir empfehlen Bicep, weil es dieselben Funktionen wie ARM-Vorlagen bietet und die Syntax einfacher zu verwenden ist. Weitere Informationen zur Verwendung von int
, min
und max
in Bicep finden Sie unter int
Funktionen (numeric). Informationen zu anderen numerischen Werten finden Sie unter numerische Operatoren (numeric).
add
add(operand1, operand2)
Gibt die Summe der beiden angegebenen ganzen Zahlen zurück.
Die add
-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den +
-Operator.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
operand1 | Ja | INT | Erste zu addierende Zahl. |
operand2 | Ja | INT | Zweite zu addierende Zahl. |
Rückgabewert
Eine ganze Zahl, die die Summe der Parameter enthält.
Beispiel
Im folgenden Beispiel werden zwei Parameter hinzugefügt.
{
"$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'))]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Gibt den Index einer Iterationsschleife zurück.
Verwenden Sie in Bicep iterative Schleifen.
Parameter
Parameter | Erforderlich | Type | Beschreibung |
---|---|---|---|
loopName | Nein | Zeichenfolge | Der Name der Schleife zum Abrufen der Iteration |
offset | Nein | INT | Die Zahl, die dem nullbasierten (0) Iterationswert hinzugefügt werden soll. |
Hinweise
Diese Funktion wird immer mit einem copy -Objekt verwendet. Wenn kein Wert für offset angegeben wird, wird der aktuelle Iterationswert zurückgegeben. Der Iterationswert beginnt bei 0 (null).
Mit der Eigenschaft loopName können Sie angeben, ob sich „copyIndex“ auf eine Ressourceniteration oder eine Eigenschafteniteration bezieht. Wenn kein Wert für loopName angegeben wird, wird die Iteration des aktuellen Ressourcentyps verwendet. Geben Sie einen Wert für loopName an, wenn eine Iteration für eine Eigenschaft ausgeführt wird.
Weitere Informationen zur Verwendung von Kopiervorgängen finden Sie unter:
- Ressourceniteration in ARM-Vorlagen
- Eigenschafteniteration in ARM-Vorlagen
- Variableniteration in ARM-Vorlagen
- Ausgabeiteration in ARM-Vorlagen
Beispiel
Das folgende Beispiel enthält eine Kopierschleife und den Indexwert im Namen.
{
"$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')]"
}
}
]
}
Rückgabewert
Eine ganze Zahl, die den aktuellen Index der Iteration darstellt.
div
div(operand1, operand2)
Gibt die Ganzzahldivision der beiden angegebenen ganzen Zahlen zurück.
Die div
-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den /
-Operator.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
operand1 | Ja | INT | Die zu teilende Zahl (Dividend). |
operand2 | Ja | INT | Die Zahl, durch die geteilt wird (Divisor). Darf nicht null (0) sein. |
Rückgabewert
Eine ganze Zahl, die die Division darstellt.
Beispiel
Im folgenden Beispiel wird ein Parameter durch einen anderen Parameter dividiert.
{
"$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'))]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
divResult | Int | 2 |
float
float(arg1)
Konvertiert den Wert in eine Gleitkommazahl. Diese Funktion wird nur beim Übergeben von benutzerdefinierten Parametern an eine Anwendung (z. B. eine Logik-App) verwendet.
Die float
-Funktion wird in Bicep nicht unterstützt.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Zeichenfolge oder ganze Zahl | Der in eine Gleitkommazahl zu konvertierende Wert. |
Rückgabewert
Eine Gleitkommazahl.
Beispiel
Das folgende Beispiel zeigt, wie „float“ zum Übergeben von Parametern an eine Logik-App verwendet wird:
{
"type": "Microsoft.Logic/workflows",
"properties": {
...
"parameters": {
"custom1": {
"value": "[float('3.0')]"
},
"custom2": {
"value": "[float(3)]"
},
INT
int(valueToConvert)
Konvertiert den angegebenen Wert in eine ganze Zahl (Integer).
Verwenden Sie in Bicep die int-Funktion.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
valueToConvert | Ja | Zeichenfolge oder ganze Zahl | Der Wert, der in eine ganze Zahl (Integer) konvertiert werden soll. |
Rückgabewert
Eine ganze Zahl des konvertierten Werts.
Beispiel
In der folgenden Beispielvorlage wird der vom Benutzer angegebene Parameterwert in eine ganze Zahl konvertiert.
{
"$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'))]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
intResult | Int | 4 |
max
max(arg1)
Gibt den größten Wert aus einem Array mit ganzen Zahlen oder einer durch Trennzeichen getrennten Liste mit ganzen Zahlen zurück.
Verwenden Sie in Bicep die max-Funktion.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array mit ganzen Zahlen oder durch Trennzeichen getrennte Liste mit ganzen Zahlen | Die Auflistung, aus der der größte Wert abgerufen werden soll. |
Rückgabewert
Eine ganze Zahl, die den größten Wert aus der Auflistung darstellt.
Beispiel
Das folgende Beispiel zeigt, wie man max mit einem Array und einer Liste von Ganzzahlen verwendet.
{
"$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)]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
Min
min(arg1)
Gibt den kleinsten Wert aus einem Array mit ganzen Zahlen oder einer durch Trennzeichen getrennten Liste mit ganzen Zahlen zurück.
Verwenden Sie in Bicep die min-Funktion.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
arg1 | Ja | Array mit ganzen Zahlen oder durch Trennzeichen getrennte Liste mit ganzen Zahlen | Die Auflistung, aus der der kleinste Wert abgerufen werden soll. |
Rückgabewert
Eine ganze Zahl, die den kleinsten Wert aus der Auflistung darstellt.
Beispiel
Das folgende Beispiel zeigt, wie man min mit einem Array und einer Liste von Ganzzahlen verwendet.
{
"$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)]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
mod
mod(operand1, operand2)
Gibt den Rest der Ganzzahldivision mit den beiden angegebenen ganzen Zahlen zurück.
Die mod
-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den Operator %.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
operand1 | Ja | INT | Die zu teilende Zahl (Dividend). |
operand2 | Ja | INT | Die Zahl, durch die dividiert wird (Divisor), darf nicht null (0) sein. |
Rückgabewert
Eine ganze Zahl, die den Rest darstellt.
Beispiel
Im folgenden Beispiel wird der Restbetrag der Division von einem Parameter durch einen anderen Parameter zurückgegeben.
{
"$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'))]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
modResult | Int | 1 |
mul
mul(operand1, operand2)
Gibt die Multiplikation der beiden angegebenen ganzen Zahlen zurück.
Die mul
-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den Operator *.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
operand1 | Ja | INT | Erste zu multiplizierende Zahl. |
operand2 | Ja | INT | Zweite zu multiplizierende Zahl. |
Rückgabewert
Eine ganze Zahl, die die Multiplikation darstellt.
Beispiel
Im folgenden Beispiel wird ein Parameter mit einem anderen Parameter multipliziert.
{
"$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)]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
mulResult | Int | 45 |
sub
sub(operand1, operand2)
Gibt die Differenz der beiden angegebenen ganzen Zahlen zurück.
Die sub
-Funktion wird in Bicep nicht unterstützt. Verwenden Sie stattdessen den -Operator.
Parameter
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
operand1 | Ja | INT | Zahl, von der subtrahiert wird. |
operand2 | Ja | INT | Zahl, die subtrahiert wird. |
Rückgabewert
Eine ganze Zahl, die die Subtraktion darstellt.
Beispiel
Im folgenden Beispiel wird ein Parameter von einem anderen Parameter subtrahiert.
{
"$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'))]"
}
}
}
Die Ausgabe aus dem vorherigen Beispiel mit den Standardwerten lautet:
Name | type | Wert |
---|---|---|
subResult | Int | 4 |
Nächste Schritte
- Eine Beschreibung der Abschnitte in einer ARM-Vorlage finden Sie unter Grundlegendes zur Struktur und Syntax von ARM-Vorlagen.
- Wenn Sie beim Erstellen eines Ressourcentyps eine angegebene Anzahl von Wiederholungen durchlaufen möchten, finden Sie weitere Informationen unter Ressourceniteration in ARM-Vorlagen.