你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ARM 模板的数值函数

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

提示

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

add

add(operand1, operand2)

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

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

参数

参数 必选 类型​​ 说明
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 中,使用迭代循环

参数

参数 必选 类型​​ 说明
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
    },
    "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)

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

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

参数

参数 必选 类型​​ 说明
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 函数。

参数

参数 必选 类型​​ 说明
arg1 字符串或整数 要转换为浮点数的值。

返回值

一个浮点数。

示例

以下示例演示如何使用 float 将参数传递给逻辑应用:

{
  "type": "Microsoft.Logic/workflows",
  "properties": {
    ...
    "parameters": {
      "custom1": {
        "value": "[float('3.0')]"
      },
      "custom2": {
        "value": "[float(3)]"
      },

int

int(valueToConvert)

将指定的值转换为整数。

在 Bicep 中,使用 int 函数。

参数

参数 必选 类型​​ 说明
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 函数。

参数

参数 必选 类型​​ 说明
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 函数。

参数

参数 必选 类型​​ 说明
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

参数 必选 类型​​ 说明
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

参数 必选 类型​​ 说明
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(mul(parameters('first'), parameters('second')), 3)]"
    }
  }
}

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

名称 类型 Value
mulResult int 45

sub

sub(operand1, operand2)

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

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

参数

参数 必选 类型​​ 说明
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

后续步骤