ARM 模板的数值函数

资源管理器提供了以下可用于在 Azure 资源管理器模板(ARM 模板)中处理整数的函数:

提示

建议使用 Bicep,因为它提供与 ARM 模板相同的功能,并且该语法更易于使用。 若要详细了解如何在 Bicep 中使用 intminmax,请参阅int函数。 对于其他数值,请使用数值运算符。

add

add(operand1, operand2)

返回提供的两个整数的总和。

Bicep 不支持 add 函数。 请改用 + 运算符

参数

参数 必选 Type 说明
operand1 int 被加数。
operand2 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'))]"
    }
  }
}

上述示例中使用默认值的输出为:

名称 类型 Value
addResult int 8

copyIndex

copyIndex(loopName, offset)

返回迭代循环的索引。

在 Bicep 中,使用迭代循环

参数

参数 必选 Type 说明
loopName string 用于获取迭代的循环的名称。
offset int 要添加到的从零开始的迭代值的数字。

备注

此函数始终用于 copy 对象。 如果没有提供任何值作为 偏移量,则返回当前迭代值。 迭代值从零开始。

loopName 属性可用于指定 copyIndex 是引用资源迭代还是引用属性迭代。 如果没有为 loopName 提供值,则将使用当前的资源类型迭代。 在属性上迭代时,请为 loopName 提供值。

有关使用 copy 的详细信息,请参阅:

示例

以下示例显示名称中包含 copy 循环和索引值。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageCount": {
      "type": "int",
      "defaultValue": 2
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-04-01",
      "name": "[concat(copyIndex(),'storage', uniqueString(resourceGroup().id))]",
      "location": "[resourceGroup().location]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "properties": {},
      "copy": {
        "name": "storagecopy",
        "count": "[parameters('storageCount')]"
      }
    }
  ],
  "outputs": {}
}

返回值

一个表示迭代的当前索引的整数。

div

div(operand1, operand2)

返回提供的两个整数在整除后的商。

Bicep 不支持 div 函数。 请改用 / 运算符

参数

参数 必选 Type 说明
operand1 int 被除数。
operand2 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'))]"
    }
  }
}

上述示例中使用默认值的输出为:

名称 类型 Value
divResult int 2

float

float(arg1)

将值转换为浮点数。 仅当将自定义参数传递给应用程序(例如,逻辑应用)时,才使用此函数。

Bicep 不支持 float 函数。

参数

参数 必选 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'))]"
    }
  }
}

上述示例中使用默认值的输出为:

名称 类型 Value
intResult int 4

max

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

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)

返回使用提供的两个整数整除后的余数。

Bicep 不支持 mod 函数。 请改用 % 运算符

parameters

参数 必选 Type 说明
operand1 int 被除数。
operand2 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'))]"
    }
  }
}

上述示例中使用默认值的输出为:

名称 类型 Value
modResult int 1

mul

mul(operand1, operand2)

返回提供的两个整数的积。

Bicep 不支持 mul 函数。 请改用 * 运算符

parameters

参数 必选 Type 说明
operand1 int 被乘数。
operand2 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(parameters('first'), parameters('second'))]"
    }
  }
}

上述示例中使用默认值的输出为:

名称 类型 Value
mulResult int 15

sub

sub(operand1, operand2)

返回提供的两个整数在相减后的结果。

Bicep 不支持 sub 函数。 请改用 - 运算符

参数

参数 必选 Type 说明
operand1 int 被减数。
operand2 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'))]"
    }
  }
}

上述示例中使用默认值的输出为:

名称 类型 Value
subResult int 4

后续步骤