如何在 ARM Bicep 模板中添加条件?

How to add condition in ARM Bicep template?

假设,我只想在 param isProduction bool 时部署一个单独的资源 是 true。 二头肌可以吗?

我在文档中找不到这个。

有一个语法if(isProduction)可以用在=之后,例如:

param isProduction bool

resource prodWebApp 'Microsoft.Web/sites@2020-12-01' = if (isProduction) {
  name: 'MyWebApp'
  ...<other props>...
}

除了已经给出的答案之外,不仅可以根据条件部署整个资源,还可以使用条件三元运算符针对特定环境更改资源的各个属性。以下是 Azure Front Door 的示例,其中仅在生产环境中使用高级层:

resource profile 'Microsoft.Cdn/profiles@2020-09-01' = {
  name: 'azureFrontDoor'
  location: 'global'
  sku: {
    name: isProduction ? 'Premium_AzureFrontDoor' : 'Standard_AzureFrontDoor'
  }
  tags: tags
}