Usar extensões do Bicep

O Bicep foi criado inicialmente para aprimorar a experiência de criação em comparação com modelos JSON do Azure Resource Manager, simplificando a implantação e o gerenciamento de recursos do Azure. As extensões do Bicep se baseiam nessa base, permitindo que os arquivos Bicep façam referência a recursos além do escopo do Azure Resource Manager. Este artigo descreve como usar extensões do Bicep.

A sintaxe para importar as extensões do Bicep é:

extension <extension-name>

A sintaxe para importar extensões do Bicep que exigem configuração é:

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

Para obter exemplos, consulte a extensão de Kubernetes para o Bicep e a extensão do Microsoft Graph.

Troubleshooting

Sua implantação pode falhar com um erro 401 AuthenticationFailed quando você tenta usar a extensão do Graph (ou qualquer extensão Bicep que exija o fluxo OAuth On-Behalf-Of ) em um módulo aninhado em condições específicas.

Essa limitação ocorre especificamente quando o módulo aninhado atende a um dos seguintes critérios:

  • Ele é configurado como uma especificação de modelo.
  • Ele utiliza templateLink, em que o modelo pai é criado manualmente em vez de gerado por meio de Bicep.

Nesses cenários, o handshake de autenticação necessário para a extensão não pode ser concluído, levando à falha de implantação.

Como solução alternativa, você pode importar a extensão no nível do arquivo Bicep raiz. Por exemplo:

extension microsoftGraphV1

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