使用 Bicep 扩展

与 Azure 资源管理器 JSON 模板相比,Bicep 最初的创建目的是为了提升创作体验,从而简化了 Azure 资源的部署与管理。 Bicep 扩展基于此基础构建,使 Bicep 文件能够引用超出 Azure 资源管理器范围的资源。 本文介绍如何使用 Bicep 扩展。

导入 Bicep 扩展的语法为:

extension <extension-name>

导入需要配置的 Bicep 扩展的语法为:

extension <extension-name> with {
  <extension-properties>
}

如需示例,请参阅 Bicep Kubernetes 扩展Microsoft Graph 扩展

故障排除

在特定条件下,当你尝试在嵌套模块中使用 Graph 扩展(或任何需要 OAuth On-Behalf-Of flow 的 Bicep 扩展)时,部署可能会失败,并出现 401 AuthenticationFailed 错误。

当嵌套模块满足以下条件之一时,会出现此限制:

  • 它被配置为模板规范。
  • 它使用 templateLink,其中父模板是手动编写的,而不是通过 Bicep 生成的。

在这些情况下,无法完成扩展所需的身份验证握手,从而导致部署失败。

作为一种变通方法,你可以在根 Bicep 文件中导入该扩展。 例如:

extension microsoftGraphV1

module graphModule 'ts/mySpecs:graph-module:1.0.0' = { // Uses the Graph extension internally
  params: {
    ...
  }
}