Числовые функции для шаблонов ARM
Диспетчер ресурсов предоставляет следующие функции для работы с целыми числами в шаблоне Azure Resource Manager (шаблоне ARM).
Совет
Мы рекомендуем использовать Bicep, так как он предоставляет те же возможности, что и шаблоны ARM, и имеет более простой синтаксис. Дополнительные сведения об использовании int
, min
и max
в Bicep см. в описании числовых функций. Сведения о других числовых значениях см. в описании числовых операторов.
add
add(operand1, operand2)
Возвращает сумму двух указанных целочисленных значений.
Функция add
не поддерживается в Bicep. Вместо нее используйте оператор +
.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
операнд1 | Да | INT | Первое слагаемое. |
операнд2 | Да | INT | Второе слагаемое. |
Возвращаемое значение
Целое число, содержащее сумму параметров.
Пример
В следующем примере суммируются два параметра.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
addResult | Int | 8 |
copyIndex
copyIndex(loopName, offset)
Возвращает индекс цикла итерации.
В Bicep используйте итеративные циклы.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
loopName | Нет | строка | Имя цикла для получения итерации. |
offset | No | INT | Число, добавляемое к отсчитываемому от нуля значению итерации. |
Замечания
Эта функция всегда используется с объектом copy. Если значение offset не указано, возвращается текущее значение итерации. Значение итерации начинается с нуля.
Свойство loopName позволяет указать, на какую итерацию ссылается copyIndex: ресурса или свойства. Если значение loopName не указано, используется текущая итерация типа ресурса. Укажите значение loopName при выполнении итерации по свойству.
Дополнительные сведения об использовании объекта copy см. в следующих статьях.
- Итерация ресурсов в шаблонах ARM
- Итерация свойств в шаблонах ARM
- Итерация переменных в шаблонах ARM
- Итерация выходных данных в шаблонах ARM
Пример
В следующем примере представлен цикл копирования, в котором значение индекса включается в имя.
{
"$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')]"
}
}
]
}
Возвращаемое значение
Целое число, представляющее текущей индекс итерации.
div
div(operand1, operand2)
Возвращает целую часть частного от деления двух указанных целочисленных значений.
Функция div
не поддерживается в Bicep. Вместо нее используйте оператор /
.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
операнд1 | Да | INT | Делимое. |
операнд2 | Да | INT | Делитель. Не может быть равен 0. |
Возвращаемое значение
Целое число, представляющее деление.
Пример
В следующем примере один параметр делится на другой.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
divResult | Int | 2 |
с плавающей запятой
float(arg1)
Преобразует значение в число с плавающей запятой. Эта функция используется только при передаче пользовательских параметров в приложение, такое как приложение логики.
Функция float
не поддерживается в Bicep.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | строка или целое число | Значение, которое необходимо преобразовать в число с плавающей запятой. |
Возвращаемое значение
Число с плавающей запятой.
Пример
В следующем примере показано, как с помощью функции float передать параметры в приложение логики:
{
"type": "Microsoft.Logic/workflows",
"properties": {
...
"parameters": {
"custom1": {
"value": "[float('3.0')]"
},
"custom2": {
"value": "[float(3)]"
},
INT
int(valueToConvert)
Преобразует указанное значение в целое число.
В Bicep используйте функцию int.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
valueToConvert | Да | строка или целое число | Значение, которое необходимо преобразовать в целое число. |
Возвращаемое значение
Целое число преобразованного значения.
Пример
В следующем примере шаблона указанное пользователем значение параметра преобразуется в целое число.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
intResult | Int | 4 |
макс.
max(arg1)
Возвращает максимальное значение из массива целых чисел или разделенный запятыми список целых чисел.
В Bicep используйте функцию max.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | массив целых чисел или разделенный запятыми список целых чисел | Коллекция, для которой необходимо получить максимальное значение. |
Возвращаемое значение
Целое число, представляющее максимальное значение из коллекции.
Пример
В следующем примере показано, как использовать функцию max с массивом и списком целых чисел.
{
"$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)]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayOutput | Int | 5 |
intOutput | Int | 5 |
мин
min(arg1)
Возвращает минимальное значение из массива целых чисел или разделенный запятыми список целых чисел.
В Bicep используйте функцию min.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
arg1 | Да | массив целых чисел или разделенный запятыми список целых чисел | Коллекция, для которой необходимо получить минимальное значение. |
Возвращаемое значение
Целое число, представляющее минимальное значение из коллекции.
Пример
В следующем примере показано, как использовать функцию min с массивом и списком целых чисел.
{
"$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)]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
arrayOutput | Int | 0 |
intOutput | Int | 0 |
mod
mod(operand1, operand2)
Возвращает остаток от деления двух указанных целочисленных значений.
Функция mod
не поддерживается в Bicep. Вместо нее используйте оператор %.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
операнд1 | Да | INT | Делимое. |
операнд2 | Да | INT | Делитель, не может быть равен 0. |
Возвращаемое значение
Целое число, представляющее остаток.
Пример
В следующем примере возвращается остаток от деления одного параметра на другой.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
modResult | Int | 1 |
mul
mul(operand1, operand2)
Возвращает произведение двух указанных целочисленных значений.
Функция mul
не поддерживается в Bicep. Вместо нее используйте оператор *.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
операнд1 | Да | INT | Первый множитель. |
операнд2 | Да | INT | Второй множитель. |
Возвращаемое значение
Целое число, представляющее произведение.
Пример
В следующем примере один параметр умножается на другой.
{
"$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)]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
mulResult | Int | 45 |
дочерний объект
sub(operand1, operand2)
Возвращает разность двух указанных целочисленных значений.
Функция sub
не поддерживается в Bicep. Вместо нее используйте оператор -.
Параметры
Параметр | Обязательное поле | Type | Описание |
---|---|---|---|
операнд1 | Да | INT | Уменьшаемое. |
операнд2 | Да | INT | Вычитаемое. |
Возвращаемое значение
Целое число, представляющее разность.
Пример
В следующем примере один параметр вычитается из другого.
{
"$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'))]"
}
}
}
Выходные данные из предыдущего примера со значениями по умолчанию:
Имя. | Тип | значение |
---|---|---|
subResult | Int | 4 |
Следующие шаги
- Описание разделов в шаблоне ARM приведено в статье Общие сведения о структуре и синтаксисе шаблонов ARM.
- Чтобы выполнить итерацию заданное число раз при создании типа ресурса, см. статью Итерация ресурса в шаблонах ARM.