Usa le estensioni Bicep

Bicep è stato creato inizialmente per migliorare l'esperienza di creazione rispetto ai modelli JSON di Azure Resource Manager, semplificando la distribuzione e la gestione delle risorse di Azure. Le estensioni Bicep si basano su questa base, consentendo ai file Bicep di fare riferimento alle risorse oltre l'ambito di Azure Resource Manager. Questo articolo descrive come usare le estensioni Bicep.

La sintassi per l'importazione di estensioni Bicep è la seguente:

extension <extension-name>

La sintassi per l'importazione di estensioni Bicep, che richiedono la configurazione è:

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

Per esempi, vedere l'estensione Kubernetes di Bicep e l'estensione Microsoft Graph.

Risoluzione dei problemi

La distribuzione potrebbe non riuscire con un errore 401 AuthenticationFailed quando si tenta di utilizzare l'estensione Graph (o qualsiasi estensione Bicep che richiede l'OAuth On-Behalf-Of flow) all'interno di un modulo annidato, in condizioni specifiche.

Questa limitazione si verifica in particolare quando il modulo annidato soddisfa uno dei criteri seguenti:

  • È configurato come Template Spec.
  • Usa templateLink, in cui il modello padre viene creato manualmente anziché generato tramite Bicep.

In questi scenari, la procedura di autenticazione necessaria per l'estensione non può essere completata, con conseguente errore di distribuzione.

Come soluzione alternativa, è possibile importare l'estensione a livello di file Bicep radice. Per esempio:

extension microsoftGraphV1

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