Číselné funkce pro šablony ARM
Resource Manager poskytuje následující funkce pro práci s celými čísly v šabloně Azure Resource Manageru (šablona ARM):
Tip
Doporučujeme Bicep, protože nabízí stejné možnosti jako šablony ARM a syntaxe se snadněji používá. Další informace o použití funkce int
, min
a max
v Bicep najdete v tématu číselné funkce. Další číselné hodnoty najdete v číselných operátorech.
add
add(operand1, operand2)
Vrátí součet dvou zadaných nezáporných celých čísel.
Funkce add
není v Bicep podporovaná. +
Místo toho použijte operátor.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
operand1 | Ano | int | První číslo, které se má přidat. |
operand2 | Ano | int | Druhé číslo, které se má sčítat. |
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:
Name | Typ | Hodnota |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Vrátí index smyčky iterace.
V Bicep použijte iterativní smyčky.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
loopName | No | string | Název smyčky pro získání iterace. |
offset | No | int | Číslo, které se má přidat 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á nulou.
Vlastnost loopName umožňuje určit, zda copyIndex odkazuje na iteraci prostředku nebo iteraci vlastností. Pokud pro loopName není zadána žádná hodnota, použije se iterace aktuálního typu prostředku. Při iterování vlastnosti zadejte hodnotu loopName.
Další informace o použití kopie 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
není v Bicep podporovaná. /
Místo toho použijte operátor.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
operand1 | Ano | int | Číslo, které se dělí. |
operand2 | Ano | int | Jedná se o čí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:
Name | Typ | Hodnota |
---|---|---|
divResult | Int | 2 |
float (číslo s plovoucí řádovou čárkou)
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, například aplikace logiky.
Funkce float
není v Bicep podporovaná.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
arg1 | Ano | řetězec 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í příkazu 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 Bicep použijte funkci int .
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
valueToConvert | Ano | řetězec 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 poskytnuté 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:
Name | 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 Bicep použijte maximální funkci.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
arg1 | Ano | 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 maximum 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:
Name | Typ | Hodnota |
---|---|---|
arrayOutput | 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 Bicep použijte minimální funkci.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
arg1 | Ano | 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 použití 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:
Name | Typ | Hodnota |
---|---|---|
arrayOutput | 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
není v Bicep podporovaná. Místo toho použijte operátor %.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
operand1 | Ano | int | Číslo, které se dělí. |
operand2 | Ano | int | Číslo, které se používá k dělení, nesmí 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:
Name | Typ | Hodnota |
---|---|---|
modResult | Int | 0 |
mul
mul(operand1, operand2)
Vrátí násobení dvou zadaných celých čísel.
Funkce mul
není v Bicep podporovaná. Místo toho použijte operátor *.
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
operand1 | Ano | int | První číslo, které se má násobit. |
operand2 | Ano | 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:
Name | Typ | Hodnota |
---|---|---|
mulResult | Int | 45 |
předmět
sub(operand1, operand2)
Vrátí odčítání dvou zadaných celých čísel.
Funkce sub
není v Bicep podporovaná. Místo toho použijte operátor - .
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
operand1 | Ano | int | Číslo, které je odečítané. |
operand2 | Ano | 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:
Name | 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.