Funzionamento di Bicep
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 apprende come funziona Bicep con Azure Resource Manager.
Distribuzione Bicep
Nell'unità precedente si è appreso che Bicep è progettato per uno scenario specifico o dominio, che lo rende un linguaggio specifico del dominio. 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.
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 di questa distribuzione, Resource Manager esamina le risorse attualmente distribuite 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 sul lato sinistro della schermata è un modello Bicep. Il modello sul lato destro della schermata è un modello JSON.
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.