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
命名空间中。 列表函数和 getSecret 函数在资源类型上直接调用,因此它们没有命名空间限定符。
- extensionResourceId
- getSecret
- listAccountSas
- listKeys
- listSecrets
- list*
- managementGroupResourceId
- pickZones
- 提供程序(已弃用)
- reference
- resourceId - 可以在任何范围内使用,但有效参数会根据范围而发生变化。
- subscriptionResourceId
- tenantResourceId
作用域函数
以下函数可用于获取作用域值。 所有这些函数都位于 az
命名空间中。
- managementGroup
- resourceGroup - 只能在部署到资源组时使用。
- subscription - 只能在部署到资源组或订阅时使用。
- 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 文件的结构和语法。
- 若要在创建资源类型时迭代指定的次数,请参阅 Bicep 中的迭代循环。
- 若要了解如何部署已创建的 Bicep 文件,请参阅使用 Bicep 和 Azure PowerShell 部署资源。