Verwenden einer Schaltfläche zum Bereitstellen von Remotevorlagen

In diesem Artikel wird beschrieben, wie Sie die Schaltfläche In Azure bereitstellen verwenden, um ARM-JSON-Remotevorlagen aus einem GitHub-Repository oder einem Azure-Speicherkonto bereitzustellen. Sie können die Schaltfläche direkt der Datei README.md in Ihrem GitHub-Repository hinzufügen. Oder Sie können die Schaltfläche zu einer Webseite hinzufügen, die auf das Repository verweist. Diese Methode bietet keine Unterstützung für die Bereitstellung von Bicep-Remotedateien.

Der Bereitstellungsumfang wird durch das Vorlagenschema bestimmt. Weitere Informationen finden Sie unter

Erforderliche Berechtigungen

Zum Bereitstellen einer Bicep-Datei oder ARM-Vorlage benötigen Sie Schreibzugriff auf die Ressourcen, die Sie bereitstellen, und Zugriff auf alle Vorgänge für den Ressourcentyp Microsoft.Resources/deployments. Um beispielsweise eine VM bereitstellen zu können, benötigen Sie die Berechtigungen Microsoft.Compute/virtualMachines/write und Microsoft.Resources/deployments/*. Für den Was-wäre-wenn-Vorgang gelten die gleichen Berechtigungsanforderungen.

Eine Liste der Rollen und Berechtigungen finden Sie unter Integrierte Azure-Rollen.

Verwenden eines einheitlichen Bilds

Verwenden Sie das folgende Bild, wenn Sie die Schaltfläche zu Ihrer Webseite oder Ihrem Repository hinzufügen:

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

Das Bild sieht so aus:

Screenshot: Schaltfläche „In Azure bereitstellen“

Erstellen einer URL zum Bereitstellen einer Vorlage

In diesem Abschnitt wird gezeigt, wie Sie die URLs für die in GitHub und im Azure-Speicherkonto gespeicherten Vorlagen abrufen und die URLs formatieren.

In GitHub gespeicherte Vorlage

Beginnen Sie mit der unformatierten URL für die Vorlage in Ihrem GitHub-Repository, um die URL für Ihre Vorlage zu erstellen. Klicken Sie auf Roh, um die unformatierte URL anzuzeigen.

Screenshot: Auswählen von „Raw“ in GitHub

Die URL hat folgendes Format:

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

Hinweis

Um eine Vorlage bereitzustellen oder auf eine verknüpfte Vorlage zu verweisen, die in einem privaten GitHub-Repository gespeichert ist, können Sie eine der benutzerdefinierten Lösungen verwenden, die in Erstellen eines benutzerdefinierten und sicheren Azure Portal-Angebots dokumentiert sind. Sie können eine Azure-Funktion erstellen, die das GitHub-Token aus Azure Key Vault abruft.

Wenn Sie Git mit Azure Repos anstelle eines GitHub-Repositorys verwenden, können Sie die Schaltfläche In Azure bereitstellen dennoch verwenden. Sorgen Sie dafür, dass es sich bei Ihrem Repository um ein öffentliches handelt. Verwenden Sie den Items-Vorgang, um die Vorlage abzurufen. Ihre Anforderung sollte das folgende Format aufweisen:

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

Im Azure-Speicherkonto gespeicherte Vorlage

Das Format der URLs für die in einem öffentlichen Container gespeicherten Vorlagen lautet:

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

Beispiel:

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

Sie können die Vorlage mit einem SAS-Token schützen. Weitere Informationen finden Sie unter Bereitstellen einer privaten ARM-Vorlage mit SAS-Token. Die folgende URL ist ein Beispiel mit 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

Formatieren der URL

Sobald Sie über die URL verfügen, müssen Sie sie in einen URL-codierten Wert konvertieren. Sie können einen Onlineencoder verwenden oder einen Befehl ausführen. Das folgende PowerShell-Beispiel zeigt, wie ein Wert URL-codiert wird.

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

Die Beispiel-URL weist mit URL-Codierung folgenden Wert auf.

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

Jeder Link beginnt mit der gleichen Basis-URL:

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

Fügen Sie Ihren URL-codierten Link zur Vorlage am Ende der Basis-URL hinzu.

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

Damit ist die URL für Ihren Link vollständig.

Erstellen der Schaltfläche für die Bereitstellung in Azure

Fügen Sie zum Schluss Link und Bild zusammen.

Um die Schaltfläche über Markdown der Datei README.md in Ihrem GitHub-Repository oder einer Webseite hinzuzufügen, verwenden Sie folgenden Befehl:

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

Verwenden Sie für HTML folgenden Code:

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

Bei Git mit einem Azure-Repository weist die Schaltfläche das folgende Format auf:

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

Bereitstellen der Vorlage

Um die vollständige Lösung zu testen, klicken Sie auf die folgende Schaltfläche:

Screenshot: Schaltfläche „In Azure bereitstellen“ mit Link

Das Portal zeigt einen Bereich an, indem Sie ganz einfach Parameterwerte angeben können. Die Parameter sind mit den Standardwerten aus der Vorlage vorab ausgefüllt. Der in der Vorlage definierte Camel-Case-Parametername storageAccountType wird im Portal in eine durch Leerzeichen getrennte Zeichenfolge eingereiht.

Screenshot: Azure-Portal mit Bereich zur Angabe von Parameterwerten

Nächste Schritte