本文介绍可在 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
命名空间还包括参数和资源循环的修饰器。 本文对这些命名空间进行了说明。
Bicep 中提供了 任何函数 ,以帮助解决有关数据类型警告的问题。 此函数位于 sys
命名空间中。
以下函数可用于处理数组。 所有这些函数都位于 sys
命名空间中。
以下函数可用于处理 CIDR。 所有这些函数都在命名空间中 sys
:
以下函数可用于处理日期。 所有这些函数都在命名空间中 sys
:
以下函数可用于获取与部署相关的值。 所有这些函数都在命名空间中 az
:
以下函数可用于将外部文件的内容加载到 Bicep 文件中。 所有这些函数都在命名空间中 sys
:
以下函数可用于处理 Lambda 表达式。 所有这些函数都在命名空间中 sys
:
以下函数可用于处理逻辑条件。 此函数位于命名空间中 sys
:
以下函数可用于处理整数。 所有这些函数都在命名空间中 sys
:
以下函数可用于处理对象。 所有这些函数都在命名空间中 sys
:
以下函数可用于 Bicep 参数文件中。 所有这些函数都在命名空间中 sys
:
以下函数可用于获取资源值。 其中的大多数函数位于 az
命名空间中。 和list
getSecret
函数没有命名空间限定符,因为它们直接在资源类型中命名:
- extensionResourceId
- getSecret
- listAccountSas
- listKeys
- listSecrets
- 列表*
- managementGroupResourceId
- pickZones
- providers (已弃用)
- reference
- resourceId - 这可在任何范围内使用,但有效参数会根据范围而更改。
- subscriptionResourceId
- tenantResourceId
以下函数可用于获取作用域值。 所有这些函数都在命名空间中 az
:
- managementGroup
- resourceGroup - 这只能在部署到资源组的部署中使用。
- 订阅 - 这只能在部署到资源组或订阅的部署中使用。
- 房客
Bicep 提供以下函数用于处理字符串。 所有这些函数都在命名空间中 sys
:
- base64
- base64ToJson
- base64ToString
- concat
- 包含
- dataUri
- dataUriToString
- 空
- endsWith
- 第一
- 格式
- guid
- indexOf
- 加入
- 最后
- lastIndexOf
- 长度
- newGuid
- padLeft
- 取代
- 跳
- 分裂
- startsWith
- 字符串
- 子
- 拿
- toLower
- toUpper
- 修剪
- uniqueString
- uri
- uriComponent
- uriComponentToString
- 若要在创建资源类型时循环访问特定次数,请参阅 Bicep 中的迭代循环。
- 若要了解如何部署已创建的 Bicep 文件,请参阅使用 Azure CLI 和 Azure PowerShell部署 Bicep 文件。