Číselné funkce pro šablony ARM
Resource Manager poskytuje následující funkce pro práci s celými čísly v šabloně Azure Resource Manager (šablona ARM):
Tip
Doporučujeme Bicep , protože nabízí stejné funkce jako šablony ARM a syntaxe se snadněji používá. Další informace o používání int
, min
a max
v nástroji Bicep najdete v tématu Číselné funkce. Další číselné hodnoty najdete v části Číselné operátory.
add
add(operand1, operand2)
Vrátí součet dvou zadaných celých čísel.
Funkce add
se v nástroji Bicep nepodporuje. Místo toho +
použijte operátor .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
operand1 | Yes | int | První číslo, které se má sečíst. |
operand2 | Yes | int | Druhé číslo, které se má sečíst. |
Vrácená hodnota
Celé číslo, které obsahuje součet parametrů.
Příklad
Následující příklad přidá dva parametry.
{
"$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'))]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Vrátí index smyčky iterace.
V nástroji Bicep použijte iterativní smyčky.
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
název_smyčky | No | řetězec | Název smyčky pro získání iterace. |
posun | No | int | Číslo, které se má přičíst k hodnotě iterace založené na nule. |
Poznámky
Tato funkce se vždy používá s objektem kopírování . Pokud není pro posun zadaná žádná hodnota, vrátí se aktuální hodnota iterace. Hodnota iterace začíná na nule.
Vlastnost loopName umožňuje určit, jestli copyIndex odkazuje na iteraci prostředku nebo iteraci vlastnosti. Pokud pro loopName není zadána žádná hodnota, použije se aktuální iterace typu prostředku. Při iteraci vlastnosti zadejte hodnotu loopName .
Další informace o používání kopírování najdete tady:
- Iterace prostředků v šablonách ARM
- Iterace vlastností v šablonách ARM
- Iterace proměnných v šablonách ARM
- Iterace výstupu v šablonách ARM
Příklad
Následující příklad ukazuje smyčku kopírování a hodnotu indexu obsaženou v názvu.
{
"$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')]"
}
}
]
}
Vrácená hodnota
Celé číslo představující aktuální index iterace.
div
div(operand1, operand2)
Vrátí celočíselné dělení dvou zadaných celých čísel.
Funkce div
se v nástroji Bicep nepodporuje. Místo toho /
použijte operátor .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
operand1 | Yes | int | Dělené číslo. |
operand2 | Yes | int | Číslo, které se používá k dělení. Nemůže být 0. |
Vrácená hodnota
Celé číslo představující dělení.
Příklad
Následující příklad vydělí jeden parametr jiným parametrem.
{
"$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'))]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
divResult | Int | 2 |
float
float(arg1)
Převede hodnotu na číslo s plovoucí desetinou čárkou. Tuto funkci použijete pouze při předávání vlastních parametrů do aplikace, jako je například aplikace logiky.
Funkce float
není v nástroji Bicep podporovaná.
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
arg1 | Yes | string nebo int | Hodnota, která se má převést na číslo s plovoucí desetinou čárkou. |
Vrácená hodnota
Číslo s plovoucí desetinou čárkou.
Příklad
Následující příklad ukazuje, jak pomocí funkce float předat parametry do aplikace logiky:
{
"type": "Microsoft.Logic/workflows",
"properties": {
...
"parameters": {
"custom1": {
"value": "[float('3.0')]"
},
"custom2": {
"value": "[float(3)]"
},
int
int(valueToConvert)
Převede zadanou hodnotu na celé číslo.
V nástroji Bicep použijte funkci int .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
valueToConvert | Yes | string nebo int | Hodnota, která se má převést na celé číslo. |
Vrácená hodnota
Celé číslo převedené hodnoty.
Příklad
Následující příklad šablony převede hodnotu parametru zadaného uživatelem na celé číslo.
{
"$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'))]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
intResult | Int | 4 |
max
max(arg1)
Vrátí maximální hodnotu z pole celých čísel nebo seznamu celých čísel oddělených čárkami.
V nástroji Bicep použijte funkci max .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
arg1 | Yes | pole celých čísel nebo seznam celých čísel oddělených čárkami | Kolekce pro získání maximální hodnoty. |
Vrácená hodnota
Celé číslo představující maximální hodnotu z kolekce.
Příklad
Následující příklad ukazuje, jak použít max s polem a seznamem celých čísel.
{
"$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)]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
poleOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Vrátí minimální hodnotu z pole celých čísel nebo seznamu celých čísel oddělených čárkami.
V nástroji Bicep použijte funkci min .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
arg1 | Yes | pole celých čísel nebo seznam celých čísel oddělených čárkami | Kolekce pro získání minimální hodnoty. |
Vrácená hodnota
Celé číslo představující minimální hodnotu z kolekce.
Příklad
Následující příklad ukazuje, jak použít min s polem a seznamem celých čísel.
{
"$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)]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
poleOutput | Int | 0 |
intOutput | Int | 0 |
Mod
mod(operand1, operand2)
Vrátí zbytek celočíselného dělení pomocí dvou zadaných celých čísel.
Funkce mod
se v nástroji Bicep nepodporuje. Místo toho použijte operátor % .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
operand1 | Yes | int | Dělené číslo. |
operand2 | Yes | int | Číslo, které se používá k dělení, nemůže být 0. |
Vrácená hodnota
Celé číslo představující zbytek.
Příklad
Následující příklad vrátí zbytek dělení jednoho parametru jiným parametrem.
{
"$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'))]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
modResult | Int | 1 |
mul
mul(operand1, operand2)
Vrátí násobení dvou zadaných celých čísel.
Funkce mul
se v nástroji Bicep nepodporuje. Místo toho použijte operátor * .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
operand1 | Yes | int | První číslo, které se má vynásobit. |
operand2 | Yes | int | Druhé číslo, které se má vynásobit. |
Vrácená hodnota
Celé číslo představující násobení.
Příklad
Následující příklad vynásobí jeden parametr jiným parametrem.
{
"$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)]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
mulResult | Int | 45 |
Dílčí
sub(operand1, operand2)
Vrátí odčítání dvou zadaných celých čísel.
Funkce sub
se v nástroji Bicep nepodporuje. Místo toho použijte operátor - .
Parametry
Parametr | Povinné | Typ | Description |
---|---|---|---|
operand1 | Yes | int | Číslo, od kterého se odečte. |
operand2 | Yes | int | Číslo, které se odečte. |
Vrácená hodnota
Celé číslo představující odčítání.
Příklad
Následující příklad odečte jeden parametr od jiného parametru.
{
"$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'))]"
}
}
}
Výstup z předchozího příkladu s výchozími hodnotami je:
Název | Typ | Hodnota |
---|---|---|
subResult | Int | 4 |
Další kroky
- Popis oddílů v šabloně ARM najdete v tématu Vysvětlení struktury a syntaxe šablon ARM.
- Pokud chcete iterovat zadaný počet opakování při vytváření typu prostředku, přečtěte si téma Iterace prostředků v šablonách ARM.