本文介绍可在 Bicep 文件中使用的所有函数。 若要定义自定义函数,请参阅 用户定义的函数。 有关 Bicep 文件中各节的说明,请参阅 Bicep 文件结构和语法。
大多数函数在部署到资源组、订阅、管理组或租户时工作方式相同。 某些函数并非可以在所有范围内使用。 下表对这些函数进行了说明。
函数的命名空间
所有 Bicep 函数都包含在两个命名空间中 - az 和 sys。 通常,使用函数时,无需指定命名空间。 仅当函数名称与在 Bicep 文件中定义的另一项相同时,才需要指定命名空间。 例如,如果创建一个名为 range 的参数,则需要通过添加 range 命名空间来区分 sys 函数。
// 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 命名空间还包括参数和资源循环的修饰器。 本文对这些命名空间进行了说明。
命名 this 空间在资源定义块内提供运行时资源状态发现的函数。 这些函数允许模板根据环境中是否已有资源进行调整配置。 更多信息请参见Bicep资源功能。
任何函数
Bicep 中提供了 任何函数 ,以帮助解决有关数据类型警告的问题。 此函数位于 sys 命名空间中。
数组函数
以下函数可用于处理数组。 所有这些函数都位于 sys 命名空间中。
无类域间函数 (CIDR) 函数
以下函数可用于处理 CIDR。 所有这些函数都在命名空间中 sys :
日期函数
以下函数可用于处理日期。 所有这些函数都在命名空间中 sys :
部署值函数
以下函数可用于获取与部署相关的值。 所有这些函数都在命名空间中 az :
文件函数
以下函数可用于将外部文件的内容加载到 Bicep 文件中。 所有这些函数都在命名空间中 sys :
Lambda 函数
以下函数可用于处理 Lambda 表达式。 所有这些函数都在命名空间中 sys :
逻辑函数
以下函数可用于处理逻辑条件。 此函数位于命名空间中 sys :
数值函数
以下函数可用于处理整数。 所有这些函数都在命名空间中 sys :
对象函数
以下函数可用于处理对象。 所有这些函数都在命名空间中 sys :
参数文件函数
以下函数可用于 Bicep 参数文件中。 所有这些函数都在命名空间中 sys :
资源功能
以下函数可用于获取资源值。 其中的大多数函数位于 az 命名空间中。
exist 并且 existingResource 都位于 this 命名空间中。 和listgetSecret函数没有命名空间限定符,因为它们直接在资源类型中命名:
- exists
- existingResource
- extensionResourceId
- getSecret
- listAccountSas
- listKeys
- listSecrets
- 列表*
- managementGroupResourceId
- pickZones
- providers (已弃用)
- reference
- resourceId - 这可在任何范围内使用,但有效参数会根据范围而更改。
- roleDefinitions
- subscriptionResourceId
- tenantResourceId
- toLogicalZone
- toLogicalZones
- toPhysicalZone
- toPhysicalZones
作用域函数
以下函数可用于获取作用域值。 所有这些函数都在命名空间中 az :
- managementGroup
- resourceGroup - 这只能在部署到资源组的部署中使用。
- 订阅 - 这只能在部署到资源组或订阅的部署中使用。
- 房客
字符串函数
Bicep 提供以下函数用于处理字符串。 所有这些函数都在命名空间中 sys :
- base64
- base64ToJson
- base64ToString
- buildUri
- concat
- 包含
- dataUri
- dataUriToString
- 空
- endsWith
- 第一
- 格式
- guid
- indexOf
- 加入
- 最后
- lastIndexOf
- 长度
- like
- newGuid
- padLeft
- parseUri
- 取代
- 跳
- 分裂
- startsWith
- 字符串
- 子
- 拿
- toLower
- toUpper
- 修剪
- uniqueString
- uri
- uriComponent
- uriComponentToString
后续步骤
- 若要在创建资源类型时循环访问特定次数,请参阅 Bicep 中的迭代循环。
- 若要了解如何部署已创建的 Bicep 文件,请参阅使用 Azure CLI 和 Azure PowerShell部署 Bicep 文件。