Avvio rapido: Creare e distribuire una specifica di modello con Bicep
Articolo
Questo avvio rapido descrive come creare e distribuire una specifica di modello con un file Bicep. Una specifica di modello viene distribuita in un gruppo di risorse in modo che gli utenti dell'organizzazione possano distribuire le risorse in Microsoft Azure. Le specifiche di modello consentono di condividere i modelli di distribuzione senza dover concedere agli utenti l'accesso per modificare il file Bicep. Questo esempio di specifica di modello usa un file Bicep per distribuire un account di archiviazione.
Quando si crea una specifica di modello, il file Bicep viene sottoposto a transpile in JavaScript Object Notation (JSON). La specifica di modello usa JSON per distribuire le risorse di Azure. Attualmente, non è possibile usare il portale di Microsoft Azure per importare un file Bicep e creare una risorsa specifica di modello.
Per creare una specifica di modello si userà un file Bicep. Copiare l'esempio seguente e salvarlo nel computer come main.bicep. Gli esempi usano il percorso C:\templates\main.bicep. È possibile usare un percorso diverso, ma è necessario modificare i comandi.
Il file Bicep seguente viene usato nelle schede PowerShell e Interfaccia della riga di comando. La scheda File Bicep usa un modello diverso che combina Bicep e JSON per creare e distribuire una specifica di modello.
La specifica di modello è un tipo di risorsa denominato Microsoft.Resources/templateSpecs. Per creare una specifica di modello, usare l'interfaccia della riga di comando di Azure, Azure PowerShell o un file Bicep.
In questo esempio viene usato il nome del gruppo di risorse templateSpecRG. È possibile usare un nome diverso, ma è necessario modificare i comandi.
È possibile creare una specifica di modello con un file Bicep, ma mainTemplate deve essere in JSON. Il modello JSON non usa la sintassi JSON standard. Ad esempio, non sono presenti virgole di fine riga, virgolette doppie vengono sostituite con virgolette singole e le barre rovesciata (\) vengono usate per l'escape delle virgolette singole all'interno di espressioni.
Copiare il modello seguente e salvarlo nel computer come main.bicep.
az group create \
--name templateSpecRG \
--location westus2
Creare la specifica di modello in quel gruppo di risorse. Il nome della specifica di modello storageSpec e il numero di versione 1.0 sono parametri nel file Bicep.
az deployment group create \
--resource-group templateSpecRG \
--template-file "C:\templates\main.bicep"
Distribuire la specifica di modello
Usare la specifica di modello per distribuire un account di archiviazione. In questo esempio viene usato il nome del gruppo di risorse storageRG. È possibile usare un nome diverso, ma è necessario modificare i comandi.
Specificare i parametri usando la stessa procedura adottata per la distribuzione di file Bicep. Ridistribuire la specifica di modello con un parametro per il tipo di account di archiviazione.
È stato rilevato un problema noto relativo al recupero di un ID specifica di modello e all'assegnazione di tale ID a una variabile in Windows PowerShell.
Distribuire la specifica di modello.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Specificare i parametri usando la stessa procedura adottata per la distribuzione di file Bicep. Ridistribuire la specifica di modello con un parametro per il tipo di account di archiviazione.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType="Standard_GRS"
Per distribuire una specifica di modello usando un file Bicep, usare un modulo. Il modulo si collega a una specifica di modello esistente. Per ulteriori informazioni, vedere File nella specifica di modello.
Copiare il modulo Bicep seguente e salvarlo nel computer come storage.bicep.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
È possibile aggiungere un parametro e ridistribuire la specifica di modello con un tipo di account di archiviazione differente. Copiare l'esempio e sostituire il file storage.bicep. Ridistribuire quindi la distribuzione delle specifiche del modello.
Se si vuole consentire ad altri utenti dell'organizzazione di distribuire la specifica di modello, è necessario concedere loro l'accesso in lettura. È possibile assegnare il ruolo Lettore a un gruppo Microsoft Entra per il gruppo di risorse che contiene le specifiche di modello da condividere. Per ulteriori informazioni, vedere Esercitazione: Concedere l'accesso alle risorse di Azure a un gruppo usando Azure PowerShell.
Aggiornare il file Bicep
Dopo aver creato la specifica di modello, si è deciso di aggiornare il file Bicep. Per continuare con gli esempi nelle schede PowerShell o Interfaccia della riga di comando, copiare l'esempio e sostituire il file main.bicep.
Il parametro storageNamePrefix specifica un valore di prefisso per il nome dell'account di archiviazione. La variabile storageAccountName concatena il prefisso con una stringa univoca.
Invece di creare una nuova specifica di modello per il modello modificato, aggiungere una nuova versione denominata 2.0 alla specifica di modello esistente. Gli utenti possono scegliere di distribuire una qualsiasi delle versioni.
Distribuire la nuova versione e usare per storageNamePrefix specificare un prefisso per il nome dell'account di archiviazione.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageNamePrefix="demo"
Creare una nuova versione per la specifica di modello. Copiare l'esempio e sostituire il file main.bicep.
Il parametro storageNamePrefix specifica un valore di prefisso per il nome dell'account di archiviazione. La variabile storageAccountName concatena il prefisso con una stringa univoca.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Pulire le risorse
Per pulire le risorse distribuite in questo argomento di avvio rapido, eliminare entrambi i gruppi di risorse. Verranno eliminati il gruppo di risorse, le specifiche del modello e gli account di archiviazione.
Usare Azure PowerShell o l'interfaccia della riga di comando di Azure per eliminare i gruppi di risorse.