Avvio rapido: Creare e distribuire una specifica di modello
Articolo
Questo argomento di avvio rapido illustra come creare un pacchetto di un modello di Azure Resource Manager in una specifica di modello e quindi distribuire tale specifica. La specifica di modello contiene un modello di Resource Manager che distribuisce un account di archiviazione.
Per creare una specifica di modello si userà un modello locale. Copiare il modello seguente e salvarlo in locale in un file denominato azuredeploy.json. In questo argomento di avvio rapido si presuppone di aver salvato il modello nel percorso c:\Templates\azuredeploy.json, ma è possibile usare un percorso qualsiasi.
La specifica di modello è un tipo di risorsa denominato Microsoft.Resources/templateSpecs. Per creare una specifica di modello è possibile usare PowerShell, l'interfaccia della riga di comando di Azure, il portale o un modello di Resource Manager.
Cercare specifiche di modello. Selezionare Specifiche di modello dalle opzioni disponibili.
Selezionare Importa modello.
Selezionare l'icona della cartella.
Passare al modello locale salvato e selezionarlo. Selezionare Apri.
Seleziona Importa
Specificare i valori seguenti:
Nome: immettere un nome per la specifica di modello. Ad esempio: storageSpec
Sottoscrizione: selezionare una sottoscrizione di Azure usata per creare la specifica di modello.
Gruppo di risorse: selezionare Crea nuovo e immettere un nome per il nuovo gruppo di risorse. Ad esempio: templateSpecRG.
Località: selezionare una località per il gruppo di risorse. Ad esempio: Stati Uniti occidentali 2.
Versione: immettere la versione della specifica di modello. Usare 1.0.
Selezionare Rivedi e crea.
Seleziona Crea.
Nota
Invece di usare un modello di Resource Manager, per creare la specifica di modello è consigliabile usare PowerShell o l'interfaccia della riga di comando. Questi strumenti convertono automaticamente i modelli collegati in artefatti connessi al modello principale. Quando si usa un modello di Resource Manager per creare la specifica di modello, è necessario aggiungere manualmente i modelli collegati come artefatti, operazione che può essere complicata.
Quando si usa un modello di Resource Manager per creare la specifica di modello, il modello viene incorporato nella definizione della risorsa. È necessario apportare alcune modifiche al modello locale. Copiare il modello seguente e salvarlo in locale con il nome azuredeploy.json.
Nota
Nel modello incorporato tutte le espressioni del modello devono essere precedute da un carattere di escape costituito da una seconda parentesi quadra aperta. Usare "[[ invece di "[. Le matrici JSON usano ancora un'unica parentesi quadra aperta.
az deployment group create \
--resource-group templateSpecRG \
--template-file "c:\Templates\azuredeploy.json"
Distribuire la specifica di modello
Per distribuire una specifica di modello, usare gli stessi comandi di distribuzione usati per distribuire un modello. Passare l'ID risorsa della specifica di modello da distribuire.
Specificare i parametri usando la stessa procedura adottata per un modello di Azure Resource Manager. 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 un modello di Azure Resource Manager. 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'
Selezionare la specifica di modello creata.
Seleziona Distribuisci.
Specificare i valori seguenti:
Sottoscrizione: selezionare una sottoscrizione di Azure in cui creare la risorsa.
Gruppo di risorse: selezionare Crea nuovo e immettere storageRG.
Tipo di account di archiviazione: selezionare Standard_GRS.
Selezionare Rivedi e crea.
Seleziona Crea.
Copiare il modello seguente e salvarlo in locale in un file denominato storage.json.
az deployment group create \
--resource-group storageRG \
--template-file "c:\Templates\storage.json"
Concedi accesso
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 modello
Si supponga di aver identificato una modifica da apportare al modello nella specifica di modello. Il modello seguente è analogo al modello precedente, con la differenza che aggiunge un prefisso al nome dell'account di archiviazione. Copiare il modello seguente e aggiornare il file azuredeploy.json.
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 quale delle due versioni distribuire.
Distribuire tale versione. Fornire un prefisso per il nome account di archiviazione.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters namePrefix='demoaccount'
Nella specifica di modello selezionare Crea nuova versione.
Assegnare alla nuova versione il nome 2.0 e, se si vuole, aggiungere note. Selezionare Modifica modello.
Sostituire il contenuto del modello con il modello aggiornato. Seleziona Review + Save (Rivedi e salva).
Seleziona Salva modifiche.
Per distribuire la nuova versione, selezionare Versioni
Selezionare i tre puntini in corrispondenza della versione che si vuole distribuire e quindi selezionare Distribuisci.
Compilare i campi come è stato fatto per distribuire la versione precedente.
Selezionare Rivedi e crea.
Seleziona Crea.
Anche in questo caso è necessario apportare alcune modifiche al modello locale per adattarlo alle specifiche di modello. Copiare il modello seguente e salvarlo in locale con il nome azuredeploy.json.