Använd en distributionsknapp för att distribuera fjärrmallar

Den här artikeln beskriver hur du använder knappen Distribuera till Azure för att distribuera ARM JSON-fjärrmallar från en GitHub-lagringsplats eller ett Azure Storage-konto. Du kan lägga till knappen direkt i README.md-filen på din GitHub-lagringsplats. Eller så kan du lägga till knappen på en webbsida som refererar till lagringsplatsen. Den här metoden stöder inte distribution av fjärranslutna Bicep-filer.

Distributionsomfånget bestäms av mallschemat. Mer information finns i:

Behörigheter som krävs

Om du vill distribuera en Bicep-fil eller en ARM-mall måste du ha skrivåtkomst till de resurser som du distribuerar och åtkomst till alla åtgärder i resurstypen Microsoft.Resources/deployments. Om du till exempel vill distribuera en virtuell dator behöver Microsoft.Compute/virtualMachines/write du och Microsoft.Resources/deployments/* behörigheter. Konsekvensåtgärden har samma behörighetskrav.

Det finns en lista med roller och behörigheter i Inbyggda roller i Azure.

Använd vanlig avbildning

Om du vill lägga till knappen på webbsidan eller lagringsplatsen använder du följande bild:

![Deploy to Azure](https://aka.ms/deploytoazurebutton)
<img src="https://aka.ms/deploytoazurebutton"/>

Bilden visas som:

Skärmbild av knappen Distribuera till Azure.

Skapa URL för att distribuera mall

Det här avsnittet visar hur du hämtar URL:erna för mallarna som lagras i GitHub och Azure Storage-kontot och hur du formaterar URL:erna.

Mall som lagras i GitHub

Om du vill skapa URL:en för mallen börjar du med den råa URL:en till mallen på din GitHub-lagringsplats. Om du vill se rå-URL:en väljer du Raw.

Skärmbild som visar hur du väljer Raw i GitHub.

Formatet på URL:en är:

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

Anteckning

Om du vill distribuera en mall eller referera till en länkad mall som lagras på en privat GitHub-lagringsplats kan du läsa en anpassad lösning som beskrivs i Skapa ett anpassat och säkert Azure Portal-erbjudande. Du kan skapa en Azure-funktion som hämtar GitHub-token från Azure Key Vault.

Om du använder Git med Azure-lagringsplatser i stället för en GitHub-lagringsplats kan du fortfarande använda knappen Distribuera till Azure . Kontrollera att lagringsplatsen är offentlig. Använd åtgärden Objekt för att hämta mallen. Din begäran bör ha följande format:

https://dev.azure.com/{organization-name}/{project-name}/_apis/git/repositories/{repository-name}/items?scopePath={url-encoded-path}&api-version=6.0

Mall lagrad i Azure Storage-konto

Formatet på URL:erna för mallarna som lagras i en offentlig container är:

https://{storage-account-name}.blob.core.windows.net/{container-name}/{template-file-name}

Exempel:

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

Du kan skydda mallen med SAS-token. Mer information finns i Distribuera en privat ARM-mall med SAS-token. Följande URL är ett exempel med SAS-token:

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

Formatera URL:en

När du har URL:en måste du konvertera URL:en till ett URL-kodat värde. Du kan använda en onlinekodare eller köra ett kommando. Följande PowerShell-exempel visar hur du URL-kodar ett värde.

$url = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json"
[uri]::EscapeDataString($url)

Exempel-URL:en har följande värde när URL:en kodas.

https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.storage%2Fstorage-account-create%2Fazuredeploy.json

Varje länk börjar med samma bas-URL:

https://portal.azure.com/#create/Microsoft.Template/uri/

Lägg till den URL-kodade malllänken i slutet av bas-URL:en.

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

Du har din fullständiga URL för länken.

Knappen Skapa distribuera till Azure

Slutligen lägger du ihop länken och bilden.

Om du vill lägga till knappen med Markdown i README.md-filen på din GitHub-lagringsplats eller på en webbsida använder du:

[![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)

För HTML använder du:

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

För Git med Azure-lagringsplats är knappen i formatet:

[![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)

Distribuera mallen

Om du vill testa den fullständiga lösningen väljer du följande knapp:

Skärmbild av knappen Distribuera till Azure med länk.

Portalen visar ett fönster där du enkelt kan ange parametervärden. Parametrarna är ifyllda i förväg med standardvärdena från mallen. Kamelkadlade parameternamn, storageAccountType, som definierats i mallen omvandlas till en blankstegsavgränsad sträng när den visas på portalen.

Skärmbild av Azure Portal som visar fönstret för att ange parametervärden.

Nästa steg