Usare un pulsante di distribuzione per distribuire modelli remoti
Questo articolo descrive come usare il pulsante Distribuisci in Azure per distribuire modelli JSON ARM remoti da un repository GitHub o da un account di archiviazione di Azure. È possibile aggiungere il pulsante direttamente al file README.md nel repository GitHub. In alternativa, è possibile aggiungere il pulsante a una pagina Web che fa riferimento al repository. Questo metodo non supporta la distribuzione di file Bicep remoti.
L'ambito di distribuzione è determinato dallo schema del modello. Per altre informazioni, vedi:
Autorizzazioni necessarie
Per distribuire un file Bicep o un modello di ARM, è necessario l'accesso in scrittura alle risorse distribuite e l'accesso per tutte le operazioni sul tipo di risorsa Microsoft.Resources/deployments. Ad esempio, per distribuire una macchina virtuale, sono necessarie le autorizzazioni Microsoft.Compute/virtualMachines/write
e Microsoft.Resources/deployments/*
. L'operazione di simulazione ha gli stessi requisiti di autorizzazione.
Per un elenco dei ruoli e delle autorizzazioni, vedere Ruoli predefiniti di Azure.
Usare un'immagine comune
Per aggiungere il pulsante alla pagina Web o al repository, usare l'immagine seguente:
![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>
L'immagine viene visualizzata come segue:
Creare l'URL per la distribuzione del modello
Questa sezione illustra come ottenere gli URL per i modelli archiviati in GitHub e nell'account di archiviazione di Azure e come formattare gli URL.
Modello archiviato in GitHub
Per creare l'URL del modello, iniziare con l'URL non elaborato del modello nel repository GitHub. Per visualizzare l'URL non elaborato, selezionare Raw (Non elaborato).
Il formato dell'URL è:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Nota
Per distribuire un modello o fare riferimento a un modello collegato archiviato in un repository GitHub privato, vedere una soluzione personalizzata documentata in Creazione di un'offerta del portale di Azure personalizzata e sicura. È possibile creare una funzione di Azure che estrae il token GitHub da Azure Key Vault.
Se si usa Git con Azure Repos invece di un repository GitHub, è comunque possibile usare il pulsante Distribuisci in Azure . Assicurarsi che il repository sia pubblico. Usare l'operazione Items per ottenere il modello. La richiesta deve essere nel formato seguente:
https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0
Modello archiviato nell'account di archiviazione di Azure
Il formato degli URL per i modelli archiviati in un contenitore pubblico è:
https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}
Ad esempio:
https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json
È possibile proteggere il modello con il token di firma di accesso condiviso. Per altre informazioni, vedere Come distribuire un modello di Resource Manager privato con token di firma di accesso condiviso. L'URL seguente è un esempio di token di firma di accesso condiviso:
https://demostorage0215.blob.core.windows.net/privatecontainer/azuredeploy.json?sv=2019-07-07&sr=b&sig=rnI8%2FvKoCHmvmP7XvfspfyzdHjtN4GPsSqB8qMI9FAo%3D&se=2022-02-16T17%3A47%3A46Z&sp=r
Formattare l'URL
Dopo aver ottenuto l'URL, è necessario convertire l'URL in un valore con codifica URL. È possibile usare un codificatore online o eseguire un comando. L'esempio di PowerShell seguente illustra come codificare un valore in URL.
$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)
L'URL di esempio ha il valore seguente quando viene codificato l'URL.
https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Ogni collegamento inizia con lo stesso URL di base:
https://portal.azure.com/#create/Microsoft.Template/uri/
Aggiungere il collegamento al modello con codifica URL alla fine dell'URL di base.
https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json
Si dispone dell'URL completo per il collegamento.
Pulsante Crea distribuzione in Azure
Infine, mettere insieme il collegamento e l'immagine.
Per aggiungere il pulsante con Markdown nel file README.md nel repository GitHub o in una pagina Web, usare:
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json)
Per HTML, usare:
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json" target="_blank">
<img src="https://aka.ms/deploytoazurebutton"/>
</a>
Per Git con il repository Azure, il pulsante è nel formato:
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fdev.azure.com%2Forgname%2Fprojectname%2F_apis%2Fgit%2Frepositories%2Freponame%2Fitems%3FscopePath%3D%2freponame%2fazuredeploy.json%26api-version%3D6.0)
Distribuire il modello
Per testare la soluzione completa, selezionare il pulsante seguente:
Nel portale viene visualizzato un riquadro che consente di specificare facilmente i valori dei parametri. I parametri vengono precompilati con i valori predefiniti del modello. Il nome del parametro con notazione a cammello, storageAccountType, definito nel modello viene trasformato in una stringa separata da spazi quando viene visualizzata nel portale.
Passaggi successivi
- Per altre informazioni sui modelli, vedere Comprendere la struttura e la sintassi dei modelli ARM.