Använda 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-lagringskonto. 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:
Skapa URL för att distribuera mall
Det här avsnittet visar hur du hämtar URL:er 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 den råa URL:en väljer du Raw.
Formatet på URL:en är:
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
Kommentar
Om du vill distribuera en mall eller referera till en länkad mall som lagras i 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 Repos 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 som lagras 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}
Till 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. I följande PowerShell-exempel visas hur du kodar ett värde via URL.
$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 din URL-kodade malllänk 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
Lägg slutligen ihop länken och bilden.
Om du vill lägga till knappen med Markdown i README.md-filen på din GitHub-lagringsplats eller 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:
Portalen visar ett fönster som gör att du enkelt kan ange parametervärden. Parametrarna är ifyllda i förväg med standardvärdena från mallen. Parameternamnet för camel-cased, storageAccountType, som definierats i mallen, omvandlas till en blankstegsavgränsad sträng när den visas på portalen.
Nästa steg
- Mer information om mallar finns i Förstå strukturen och syntaxen för ARM-mallar.