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:
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.
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:
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.
Nächste Schritte
- Weitere Informationen zu Vorlagen finden Sie unter Verstehen der Struktur und Syntax von ARM-Vorlagen.