Funkcje liczbowe dla szablonów usługi ARM
Usługa Resource Manager udostępnia następujące funkcje do pracy z liczbami całkowitymi w szablonie usługi Azure Resource Manager (szablon usługi ARM):
Napiwek
Zalecamy Bicep , ponieważ oferuje te same możliwości co szablony usługi ARM, a składnia jest łatwiejsza w użyciu. Aby dowiedzieć się więcej na temat używania funkcji int
, min
i max
w Bicep, zobacz funkcje liczbowe . Aby uzyskać informacje o innych wartościach liczbowych, zobacz operatory liczbowe .
add
add(operand1, operand2)
Zwraca sumę dwóch podanych liczb całkowitych.
Funkcja nie jest obsługiwana add
w Bicep. +
Zamiast tego użyj operatora .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
operand1 | Tak | int | Pierwsza liczba do dodania. |
operand2 | Tak | int | Druga liczba do dodania. |
Wartość zwracana
Liczba całkowita zawierająca sumę parametrów.
Przykład
W poniższym przykładzie dodano dwa 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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Zwraca indeks pętli iteracji.
W Bicep użyj pętli iteracyjnych.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
loopName | Nie. | string | Nazwa pętli pobierania iteracji. |
offset | Nie. | int | Liczba, która ma zostać dodana do wartości iteracji opartej na zera. |
Uwagi
Ta funkcja jest zawsze używana z obiektem kopiowania. Jeśli nie podano wartości przesunięcia, zwracana jest bieżąca wartość iteracji. Wartość iteracji rozpoczyna się od zera.
Właściwość loopName umożliwia określenie, czy właściwość copyIndex odwołuje się do iteracji zasobów, czy iteracji właściwości. Jeśli dla parametru loopName nie podano żadnej wartości, używana jest iteracja bieżącego typu zasobu. Podaj wartość parametru loopName podczas iteracji właściwości.
Aby uzyskać więcej informacji na temat korzystania z kopiowania, zobacz:
- Iteracja zasobów w szablonach usługi ARM
- Iteracja właściwości w szablonach usługi ARM
- Iteracja zmiennych w szablonach usługi ARM
- Iteracja wyjściowa w szablonach usługi ARM
Przykład
W poniższym przykładzie przedstawiono pętlę kopiowania i wartość indeksu uwzględniona w nazwie.
{
"$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')]"
}
}
]
}
Wartość zwracana
Liczba całkowita reprezentująca bieżący indeks iteracji.
div
div(operand1, operand2)
Zwraca podział liczb całkowitych dwóch podanych liczb całkowitych.
Funkcja nie jest obsługiwana div
w Bicep. /
Zamiast tego użyj operatora .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
operand1 | Tak | int | Liczba jest podzielona. |
operand2 | Tak | int | Liczba używana do dzielenia. Nie można mieć 0. |
Wartość zwracana
Liczba całkowita reprezentująca podział.
Przykład
Poniższy przykład dzieli jeden parametr przez inny parametr.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
divResult | Int | 2 |
liczba zmiennoprzecinkowa
float(arg1)
Konwertuje wartość na liczbę zmiennoprzecinkową. Ta funkcja jest używana tylko podczas przekazywania parametrów niestandardowych do aplikacji, takiej jak aplikacja logiki.
Funkcja nie jest obsługiwana float
w Bicep.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | ciąg lub int | Wartość, która ma być konwertowana na liczbę zmiennoprzecinkową. |
Wartość zwracana
Liczba zmiennoprzecinkowa.
Przykład
W poniższym przykładzie pokazano, jak używać zmiennoprzecinkowych do przekazywania parametrów do aplikacji logiki:
{
"type": "Microsoft.Logic/workflows",
"properties": {
...
"parameters": {
"custom1": {
"value": "[float('3.0')]"
},
"custom2": {
"value": "[float(3)]"
},
int
int(valueToConvert)
Konwertuje określoną wartość na liczbę całkowitą.
W Bicep użyj funkcji int .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
valueToConvert | Tak | ciąg lub int | Wartość, która ma być konwertowana na liczbę całkowitą. |
Wartość zwracana
Liczba całkowita przekonwertowanej wartości.
Przykład
Poniższy przykładowy szablon konwertuje wartość parametru podanego przez użytkownika na liczbę całkowitą.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
intResult | Int | 100 |
max
max(arg1)
Zwraca wartość maksymalną z tablicy liczb całkowitych lub rozdzielanej przecinkami listy liczb całkowitych.
W Bicep użyj funkcji max .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica liczb całkowitych lub rozdzielona przecinkami lista liczb całkowitych | Kolekcja, aby uzyskać maksymalną wartość. |
Wartość zwracana
Liczba całkowita reprezentująca maksymalną wartość z kolekcji.
Przykład
W poniższym przykładzie pokazano, jak używać wartości maksymalnej z tablicą i listą liczb całkowitych.
{
"$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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
min
min(arg1)
Zwraca minimalną wartość z tablicy liczb całkowitych lub rozdzielanej przecinkami listy liczb całkowitych.
W Bicep użyj funkcji min .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
arg1 | Tak | tablica liczb całkowitych lub rozdzielona przecinkami lista liczb całkowitych | Kolekcja, aby uzyskać minimalną wartość. |
Wartość zwracana
Liczba całkowita reprezentująca minimalną wartość z kolekcji.
Przykład
W poniższym przykładzie pokazano, jak używać min z tablicą i listą liczb całkowitych.
{
"$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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
mod
mod(operand1, operand2)
Zwraca pozostałą część dzielenia całkowitego przy użyciu dwóch podanych liczb całkowitych.
Funkcja nie jest obsługiwana mod
w Bicep. Zamiast tego użyj operatora %.
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
operand1 | Tak | int | Liczba jest podzielona. |
operand2 | Tak | int | Liczba używana do dzielenia nie może być 0. |
Wartość zwracana
Liczba całkowita reprezentująca resztę.
Przykład
Poniższy przykład zwraca pozostałą część dzielenia jednego parametru przez inny parametr.
{
"$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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
modResult | Int | 1 |
Mul
mul(operand1, operand2)
Zwraca mnożenie dwóch podanych liczb całkowitych.
Funkcja nie jest obsługiwana mul
w Bicep. Zamiast tego użyj operatora * .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
operand1 | Tak | int | Pierwsza liczba do pomnożenia. |
operand2 | Tak | int | Druga liczba do pomnożenia. |
Wartość zwracana
Liczba całkowita reprezentująca mnożenie.
Przykład
Poniższy przykład mnoży jeden parametr przez inny parametr.
{
"$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)]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
mulResult | Int | 45 |
sub
sub(operand1, operand2)
Zwraca odejmowanie dwóch podanych liczb całkowitych.
Funkcja nie jest obsługiwana sub
w Bicep. Zamiast tego użyj operatora - .
Parametry
Parametr | Wymagania | Type | Opis |
---|---|---|---|
operand1 | Tak | int | Liczba odejmowana od. |
operand2 | Tak | int | Liczba, która jest odejmowana. |
Wartość zwracana
Liczba całkowita reprezentująca odejmowanie.
Przykład
Poniższy przykład odejmuje jeden parametr z innego 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'))]"
}
}
}
Dane wyjściowe z poprzedniego przykładu z wartościami domyślnymi to:
Nazwisko | Typ | Wartość |
---|---|---|
subResult | Int | 100 |
Następne kroki
- Aby zapoznać się z opisem sekcji w szablonie usługi ARM, zobacz Omówienie struktury i składni szablonów usługi ARM.
- Aby iterować określoną liczbę razy podczas tworzenia typu zasobu, zobacz Iteracja zasobów w szablonach usługi ARM.