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

Bicep 的 any 函数

Bicep 支持名为 any() 的函数,以解决 Bicep 类型系统中的类型错误。 当你提供的值的格式与类型系统预期的不一致时,可以使用此函数。 例如,如果属性需要数值,但你需要将其作为字符串提供,如 '0.5'。 使用 any() 函数可以抑制类型系统报告的错误。

此函数不存在于 Azure 资源管理器模板运行时中。 它只被 Bicep 使用,不会在生成的模板的 JSON 中发出。

注意

为帮助解决类型错误,请在缺少的或不正确的类型要求你使用 any() 函数时告知我们。 将详细信息添加到缺少类型验证/不准确 GitHub 问题。

any

any(value)

返回与任何数据类型都兼容的值。

命名空间:sys

参数

参数 必需 类型 说明
value 所有类型 要转换为兼容类型的值。

返回值

格式与任何数据类型都兼容的值。

示例

下面的示例展示了如何使用 any() 函数以字符串形式提供数值。

resource wpAci 'Microsoft.ContainerInstance/containerGroups@2023-05-01' = {
  name: 'wordpress-containerinstance'
  location: location
  properties: {
    containers: [
      {
        name: 'wordpress'
        properties: {
          ...
          resources: {
            requests: {
              cpu: any('0.5')
              memoryInGB: any('0.7')
            }
          }
        }
      }
    ]
  }
}

此函数应用于 Bicep 中的任何赋值。 下面的示例使用带有三元表达式作为参数的 any()

publicIPAddress: any((pipId == '') ? null : {
  id: pipId
})

后续步骤

有关 any() 函数的更复杂用法,请参阅以下示例: