Bicep 的 any 函数

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

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

注意

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

any

any(value)

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

命名空间:sys

参数

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

返回值

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

示例

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

resource wpAci 'microsoft.containerInstance/containerGroups@2019-12-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() 函数的更复杂用法,请参阅以下示例: