Een implementatieknop gebruiken om externe sjablonen te implementeren

In dit artikel wordt beschreven hoe u de knop Implementeren in Azure gebruikt om externe ARM JSON-sjablonen te implementeren vanuit een GitHub-opslagplaats of een Azure-opslagaccount. U kunt de knop rechtstreeks toevoegen aan het README.md-bestand in uw GitHub-opslagplaats. U kunt de knop ook toevoegen aan een webpagina die verwijst naar de opslagplaats. Deze methode biedt geen ondersteuning voor het implementeren van externe Bicep-bestanden.

Het implementatiebereik wordt bepaald door het sjabloonschema. Zie voor meer informatie:

Vereiste machtigingen

Als u een Bicep-bestand of ARM-sjabloon wilt implementeren, hebt u schrijftoegang nodig voor de resources die u implementeert en moet u zijn gemachtigd om alle bewerkingen op het resourcetype Microsoft.Resources/deployments te kunnen uitvoeren. Als u bijvoorbeeld een virtuele machine wilt implementeren, hebt u de benodigde machtigingen en Microsoft.Resources/deployments/* machtigingen nodigMicrosoft.Compute/virtualMachines/write. De wat-als-bewerking heeft dezelfde machtigingsvereisten.

Zie Ingebouwde Azure-rollen voor een lijst met rollen en machtigingen.

Algemene installatiekopie├źn gebruiken

Gebruik de volgende afbeelding om de knop toe te voegen aan uw webpagina of opslagplaats:

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

De afbeelding wordt weergegeven als:

De knop Implementeren in Azure

URL maken voor het implementeren van een sjabloon

In deze sectie wordt beschreven hoe u de URL's voor de sjablonen opslaat die zijn opgeslagen in GitHub en een Azure-opslagaccount en hoe u de URL's kunt opmaken.

Sjabloon die is opgeslagen in GitHub

Als u de URL voor uw sjabloon wilt maken, begint u met de onbewerkte URL naar de sjabloon in uw GitHub-opslagplaats. Als u de onbewerkte URL wilt zien, selecteert u Raw.

Raw selecteren

De indeling van de URL is:

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

Notitie

Als u een sjabloon wilt implementeren of verwijzen naar een gekoppelde sjabloon die is opgeslagen in een persoonlijke GitHub-opslagplaats, raadpleegt u een aangepaste oplossing die wordt beschreven in het maken van een aangepaste en beveiligde Azure-portal-aanbieding. U kunt een Azure-functie maken waarmee het GitHub-token uit Azure Key Vault wordt gehaald.

Als u Git gebruikt met Azure-opslagplaatsen in plaats van een GitHub-opslagplaats, kunt u nog steeds de knop Implementeren in Azure gebruiken. Zorg ervoor dat uw opslagplaats openbaar is. Gebruik de bewerking Items om de sjabloon op te halen. Uw aanvraag moet de volgende indeling hebben:

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

Sjabloon die is opgeslagen in een Azure-opslagaccount

De indeling van de URL's voor de sjablonen die zijn opgeslagen in een openbare container is:

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

Bijvoorbeeld:

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

U kunt de sjabloon beveiligen met een SAS-token. Zie Priv├ę-ARM-sjabloon implementeren met SAS-token voor meer informatie. De volgende URL is een voorbeeld van een 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

De URL opmaken

Zodra u de URL hebt, moet u de URL converteren naar een url-gecodeerde waarde. U kunt een online coderingsprogramma gebruiken of een opdracht uitvoeren. In het volgende PowerShell-voorbeeld ziet u hoe url's een waarde coderen.

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

De voorbeeld-URL heeft de volgende waarde wanneer de URL is gecodeerd.

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

Elke koppeling begint met dezelfde basis-URL:

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

Voeg de url-gecodeerde sjabloonkoppeling toe aan het einde van de basis-URL.

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

U hebt uw volledige URL voor de koppeling.

Knop Implementeren in Azure maken

Plaats ten slotte de koppeling en afbeelding samen.

Als u de knop met Markdown wilt toevoegen in het README.md bestand in uw GitHub-opslagplaats of een webpagina, gebruikt u:

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

Gebruik voor HTML:

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

Voor Git met Azure-opslagplaats heeft de knop de volgende indeling:

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

De sjabloon implementeren

Als u de volledige oplossing wilt testen, selecteert u de volgende knop:

Implementeren op Azure

In de portal wordt een deelvenster weergegeven waarmee u eenvoudig parameterwaarden kunt opgeven. De parameters worden vooraf gevuld met de standaardwaarden uit de sjabloon. De naam van de kameel-cased parameter, storageAccountType, die in de sjabloon is gedefinieerd, wordt omgezet in een tekenreeks die is gescheiden door spaties wanneer deze wordt weergegeven in de portal.

Portal gebruiken om te implementeren

Volgende stappen