Guida introduttiva: Creare e distribuire una specifica di modello con Bicep
Articolo
Questa guida introduttiva 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 traspilato in JavaScript Object Notation (JSON). La specifica di modello usa JSON per distribuire le risorse di Azure. Attualmente, non è possibile usare Microsoft portale di Azure per importare un file Bicep e creare una risorsa specifica di modello.
Creare una specifica di modello da un file Bicep locale. 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 sarà necessario modificare i comandi.
Il file Bicep seguente viene usato nelle schede di PowerShell e dell'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 templateSpecRGdel gruppo di risorse . È possibile usare un nome diverso, ma sarà necessario modificare i comandi.
È possibile creare una specifica di modello con un file Bicep, ma deve mainTemplate 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 1.0 di versione 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 storageRGdel gruppo di risorse . È possibile usare un nome diverso, ma sarà necessario modificare i comandi.
Specificare i parametri esattamente come si farebbe per una 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 esattamente come si farebbe per una 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 altre informazioni, vedere file nella specifica del 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 diverso. 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 di Microsoft Entra per il gruppo di risorse che contiene le specifiche di modello che si desidera condividere. Per altre informazioni, vedere Esercitazione: Concedere a un gruppo l'accesso alle risorse di Azure 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 di PowerShell o dell'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 storageAccountName variabile concatena il prefisso con una stringa univoca.
Anziché 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 delle due 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 della 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 storageAccountName variabile concatena il prefisso con una stringa univoca.
Per aggiungere la nuova versione alla specifica di modello, distribuire il modello con Azure PowerShell o l'interfaccia della riga di comando di Azure.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Pulire le risorse
Per pulire le risorse distribuite in questa guida introduttiva, 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.