Condividi tramite


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, vedere:

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 di ruoli e 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:

Screenshot del pulsante Distribuzione su Azure.

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).

Screenshot che mostra come selezionare Raw in GitHub.

Il formato dell'URL è:

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json

Annotazioni

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}

Per esempio:

https://demostorage0215.blob.core.windows.net/democontainer/azuredeploy.json

È possibile proteggere il modello con un token SAS. Per ulteriori informazioni, vedere Come distribuire un modello privato di Resource Manager con token SAS. L'URL seguente è un esempio con 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 "Distribuisci 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)

Implementare il modello

Per testare la soluzione completa, selezionare il pulsante seguente:

Screenshot del pulsante Distribuisci in Azure con il collegamento.

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 in notazione camel case, storageAccountType, definito nel modello viene trasformato in una stringa separata da spazi quando viene visualizzato nel portale.

Screenshot del riquadro di visualizzazione del portale di Azure per fornire i valori dei parametri.

Passaggi successivi