你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 函数概述
本文介绍可在 Bicep 文件中使用的所有函数。 若要定义自定义函数,请参阅用户定义的函数。 有关 Bicep 文件中各节的说明,请参阅 Bicep 文件结构和语法。
大多数函数在部署到资源组、订阅、管理组或租户时工作方式相同。 某些函数并非可以在所有范围内使用。 下表对这些函数进行了说明。
函数的命名空间
所有 Bicep 函数都包含在两个命名空间中 - az
和 sys
。 通常,使用函数时,无需指定命名空间。 仅当函数名称与在 Bicep 文件中定义的另一项相同时,才需要指定命名空间。 例如,如果创建一个名为 range
的参数,则需要通过添加 sys
命名空间来区分 range
函数。
// Parameter contains the same name as a function
param range int
// Must use sys namespace to call the function.
// The second use of range refers to the parameter.
output result array = sys.range(1, range)
az
命名空间包含特定于 Azure 部署的函数。 sys
命名空间包含用于构造值的函数。 sys
命名空间还包括参数和资源循环的修饰器。 本文对这些命名空间进行了说明。
任何函数
Bicep 中提供 any 函数可帮助解决有关数据类型警告的问题。 此函数位于 sys
命名空间中。
数组函数
以下函数可用于处理数组。 所有这些函数都位于 sys
命名空间中。
- array
- concat
- contains
- empty
- indexOf
- first
- flatten
- intersection
- last
- lastIndexOf
- length
- min
- max
- range
- skip
- take
- union
无类域间函数 (CIDR) 函数
以下函数可用于处理 CIDR。 所有这些函数都在命名空间中 sys
:
日期函数
以下函数可用于处理日期。 所有这些函数都在命名空间中 sys
:
部署值函数
以下函数可用于获取与部署相关的值。 所有这些函数都在命名空间中 az
:
文件函数
以下函数可用于将外部文件的内容加载到 Bicep 文件中。 所有这些函数都在命名空间中 sys
:
Lambda 函数
以下函数可用于处理 Lambda 表达式。 所有这些函数都在命名空间中 sys
:
逻辑函数
以下函数可用于处理逻辑条件。 此函数位于命名空间中 sys
:
数值函数
以下函数可用于处理整数。 所有这些函数都在命名空间中 sys
:
对象函数
以下函数可用于处理对象。 所有这些函数都在命名空间中 sys
:
参数文件函数
以下函数可用于 Bicep 参数文件中。 所有这些函数都在命名空间中 sys
:
Resource functions
以下函数可用于获取资源值。 其中的大多数函数位于 az
命名空间中。 和list
getSecret
函数没有命名空间限定符,因为它们直接在资源类型中命名:
- extensionResourceId
- getSecret
- listAccountSas
- listKeys
- listSecrets
- list*
- managementGroupResourceId
- pickZones
- 提供程序(已弃用)
- reference
- resourceId - 这可在任何范围内使用,但有效参数会根据范围而更改。
- subscriptionResourceId
- tenantResourceId
作用域函数
以下函数可用于获取作用域值。 所有这些函数都在命名空间中 az
:
- managementGroup
- resourceGroup - 这只能在部署到资源组的部署中使用。
- 订阅 - 这只能在部署到资源组或订阅的部署中使用。
- tenant
字符串函数
Bicep 提供以下函数用于处理字符串。 所有这些函数都在命名空间中 sys
:
- base64
- base64ToJson
- base64ToString
- concat
- contains
- dataUri
- dataUriToString
- empty
- endsWith
- first
- format
- guid
- indexOf
- join
- last
- lastIndexOf
- length
- newGuid
- padLeft
- replace
- skip
- split
- startsWith
- string
- substring
- take
- toLower
- toUpper
- trim
- uniqueString
- uri
- uriComponent
- uriComponentToString
后续步骤
- 若要在创建资源类型时循环访问特定次数,请参阅 Bicep 中的迭代循环。
- 若要了解如何部署已创建的 Bicep 文件,请参阅 使用 Azure CLI 和 Azure PowerShell 部署 Bicep 文件。