Funzionamento di Bicep

Completato

A questo punto si ha una certa conoscenza del linguaggio del modello Bicep e dei vantaggi che offre per la creazione dei modelli. Prima di iniziare il processo di scrittura di modelli Bicep per il provisioning delle risorse, si vogliono esaminare altre informazioni sul funzionamento di Bicep.

In questa unità si apprenderà come funziona Bicep con Azure Resource Manager.

Distribuzione Bicep

Nell'unità precedente si è appreso che Bicep è un linguaggio specifico di dominio, ovvero è progettato per uno scenario o dominio specifico. Bicep è progettato per semplificare la distribuzione e la configurazione delle risorse di Azure.

Quando si distribuisce una risorsa o una serie di risorse in Azure, si invia il modello Bicep a Resource Manager, che richiede ancora i modelli JSON. Gli strumenti integrati in Bicep convertono il modello Bicep in un modello JSON. Questo processo è noto come transcompilazioneed essenzialmente tratta il modello ARM come un linguaggio intermedio. La conversione viene eseguita automaticamente quando si invia la distribuzione oppure è possibile eseguirla manualmente.

Diagram that shows the workflow from a template author, a Bicep template, an emitted JSON template, and a deployment to Azure.

Nota

La transcompilazione è il processo di conversione del codice sorgente scritto in un linguaggio in un altro linguaggio.

Le versioni più recenti dell'interfaccia della riga di comando di Azure e di Azure PowerShell includono il supporto bicep predefinito. È possibile usare gli stessi comandi di distribuzione per distribuire i modelli Bicep e JSON. Ad esempio, il comando seguente consente di distribuire un modello Bicep a un gruppo di risorse denominato storage-resource-group:

az deployment group create \
  --template-file main.bicep \
  --resource-group storage-resource-group

Dopo l'invio della distribuzione, Resource Manager verifica che cosa è già stato distribuito in Azure. Esamina quindi ciò che si sta tentando di distribuire e configura una sequenza di passaggi per raggiungere questo stato. Tutte queste attività comportano la chiamata dell'API di Resource Manager.

È possibile visualizzare il modello JSON inviato a Resource Manager usando il comando bicep build. Nell'esempio seguente un modello Bicep viene convertito nel modello JSON corrispondente:

bicep build main.bicep

Confronto tra JSON e Bicep

Bicep offre una sintassi più semplice da usare quando si scrivono i modelli. Esaminare gli esempi dei due modelli riportati di seguito. Il modello a sinistra è un modello Bicep. Il modello a destra è un modello JSON.

Screenshot that compares Bicep code on the left and the corresponding JSON code on the right.

Si noti che il modello Bicep contiene meno codice. La sintassi è più facile da leggere e comprendere e non sono presenti espressioni complesse come nel modello JSON a destra.

Nota

Per visualizzare i file JSON e Bicep equivalenti affiancati, vedere il Playground per Bicep.