Verwalten einer Vorlagenspezifikation
Vorlagenspezifikationen stellen eine praktische Möglichkeit zum Veröffentlichen und Freigeben von Vorlagen in Ihrer Organisation dar. Wenn Sie Vorlagenspezifikationen in größerem Umfang verwenden, ist es wichtig zu verstehen, wie sie verwaltet werden.
In dieser Lektion erfahren Sie mehr über die Versionsverwaltung, das Ändern und Löschen von Vorlagenspezifikationen und das Steuern des Zugriffs auf Vorlagenspezifikationen.
Hinweis
Die Befehle in dieser Lerneinheit dienen der Veranschaulichung der Konzepte. Führen Sie die Befehle jetzt noch nicht aus. Sie können das Erlernte in Kürze üben.
Hinzufügen von Versionen
Sie haben gelernt, dass eine einzelne Vorlagenspezifikation mehrere Versionen aufweisen kann. Eine Vorlagenspezifikation fungiert als Container für eine oder mehrere Versionen, und jede Version ist einer Vorlagendatei zugeordnet. Wenn Sie eine Vorlagenspezifikation bereitstellen, müssen Sie die Version angeben, die Sie verwenden möchten, damit Azure Resource Manager weiß, welche Vorlagendatei abgerufen werden soll.
Azure CLI und Azure PowerShell machen das Arbeiten mit mehreren Versionen einfach. Tatsächlich haben Sie bereits beim Bereitstellen der Vorlagenspezifikation in der vorherigen Übung mit Versionen gearbeitet.
Es ist eine gute Idee, die Versionsverwaltung Ihrer Vorlagenspezifikationen sorgfältig zu planen. Zwei wichtige Entscheidungen, die getroffen werden müssen, sind das Versionsschema und die Versionsrichtlinie, die verwendet werden sollen.
Versionsverwaltungsschemas
Ihr Versionsschema bestimmt, wie Sie Versionsnummern generieren. Zu den gängigen Versionsschemas gehören:
- Einfache ganze Zahlen können als Versionsnummern verwendet werden. Ihre erste Version kann z. B.
1
heißen, Ihre zweite Version2
usw. - Datumsangaben geben ebenfalls gute Versionsnummern ab. Wenn Sie beispielsweise die erste Version Ihrer Vorlagenspezifikation am 16. Januar 2021 veröffentlichen, können Sie die Version
2021-01-16
benennen (im Format jjjj-mm-tt). Wenn Sie eine weitere Version am 3. März veröffentlichen, können Sie sie2021-03-03
nennen. - Als semantische Versionsverwaltung bezeichnet man ein Versionssystem, das häufig für Software verwendet wird, wobei eine einzelne Versionsnummer mehrere Teile enthält. Jeder Teil kommuniziert unterschiedliche Informationen zur Art der Änderung.
Obwohl Sie ein beliebiges Versionsverwaltungsschema verwenden können, empfiehlt es sich, etwas auszuwählen, das in eine sinnvolle Reihenfolge sortiert werden kann, wie Zahlen und Datumsangaben.
Hinweis
Azure speichert das Datum, an dem die einzelnen Versionen erstellt wurden. Selbst wenn Sie keine datumsbasierte Versionsverwaltung verwenden, stehen Ihnen diese Informationen zur Verfügung.
Versionsrichtlinien
Mit Vorlagenspezifikationen haben Sie die Flexibilität, zu entscheiden, wann eine neue Version erstellt oder eine vorhandene Version aktualisiert werden soll. Beispielsweise können Sie sich effektiv gegen jede Versionsverwaltung entscheiden, indem Sie eine einzelne Version erstellen und veröffentlichen, die den Namen latest
trägt. Immer, wenn Sie Ihre Vorlagenspezifikation ändern müssen, aktualisieren Sie einfach diese Version. Diese Vorgehensweise funktioniert zwar, sie ist aber kein gutes Verfahren.
Hingegen ist es wahrscheinlich auch nicht klug, bei jeder kleinen Änderung einer vorhandenen Vorlage, die gar keinen Einfluss auf ihre Verwendung hat, eine neue Version zu erstellen. Sie müssten die neue Versionsnummer dann an alle Benutzer kommunizieren, die mit der Vorlagenspezifikation arbeiten.
Dagegen funktioniert diese Versionsrichtlinie in vielen Fällen gut:
- Immer, wenn Sie wesentliche Änderungen an einer Vorlagenspezifikation vornehmen, erstellen Sie eine neue Version. Zu den wesentlichen Änderungen ihrer Vorlagenspezifikation gehören alle Änderungen, die für den Benutzer, der sie bereitstellt, einen Unterschied machen können. Beispiele hierfür sind das Hinzufügen einer weiteren Ressource zur Vorlage oder das Ändern der Eigenschaften einer Ressource.
- Bei allen kleinen Änderungen an einer Vorlagenspezifikation, sogenannten Hotfixes, aktualisieren Sie die vorhandene Version der Vorlagenspezifikation.
- Löschen Sie alte Versionen, wenn sie nicht mehr relevant sind oder wenn Sie nicht möchten, dass sie von jemandem verwendet werden.
Tipp
Berücksichtigen Sie die Benutzer Ihrer Vorlagenspezifikation, und überlegen Sie sich, was ihrer Meinung nach geschieht. Wenn ein Benutzer Ihre Vorlagenspezifikation mehrmals bereitgestellt und ein bestimmtes Ergebnis erhalten hat, und nach der erneuten Bereitstellung nach einem Hotfix ein anderes Ergebnis erhält, wird er wahrscheinlich überrascht sein. Versuchen Sie, die Wahrscheinlichkeit zu minimieren, dass Ihre Benutzer ein unerwartetes Ergebnis erhalten.
Versionsbeschreibungen
Wenn Sie eine neue Version einer Vorlagenspezifikation erstellen, können Sie sie optional mit einer Versionsbeschreibung versehen. Das Bereitstellen einer Versionsbeschreibung ist eine bewährte Methode, auch wenn sie nicht erforderlich ist. In der Versionsbeschreibung sind die vorgenommenen Änderungen zusammengefasst, damit jeder, der Ihre Vorlagenspezifikation verwendet, die Version auswählen kann, die seinen Anforderungen am besten entspricht.
Vornehmen von Änderungen an einer Vorlagenspezifikation
Vorlagenspezifikationen sind Azure-Ressourcen, daher können Sie sie wie jede andere Ressource verwalten. Dies bedeutet, dass Sie die Details einer Vorlagenspezifikation anzeigen, sie aktualisieren und sie wie gewohnt löschen können.
Zum Auflisten der Versionen einer Vorlagenspezifikation verwenden Sie beispielsweise das Get-AzTemplateSpec
-Cmdlet:
Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec
Das gleiche Cmdlet wird zum Anzeigen der Version einer Vorlagenspezifikation verwendet. Fügen Sie den -Version
-Parameter hinzu, um die Details einer Version abzurufen:
Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0
Sie können auf die JSON-Vorlage zugreifen, indem Sie die MainTemplate
-Eigenschaft aus dem Versions
-Array auslesen:
(Get-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
).Versions[0].MainTemplate
Wenn Sie beispielsweise die Versionen einer Vorlagenspezifikation auflisten möchten, verwenden Sie den az ts show
-Befehl:
az ts show \
--resource-group MyResourceGroup \
--name MyTemplateSpec
Der gleiche Befehl wird zum Anzeigen der Version einer Vorlagenspezifikation verwendet. Fügen Sie das --version
-Argument hinzu, um die Details einer Version abzurufen:
az ts show \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0
Die JSON-Vorlage ist in der Ausgabe enthalten.
Hinweis
Wenn Sie eine Bicep-Datei in einer Vorlagenspezifikation veröffentlichen, wird sie in JSON konvertiert. Sie können die ursprüngliche Bicep-Datei nicht sehen, daher empfiehlt es sich, diese an einer anderen Stelle zu speichern.
Zum Aktualisieren einer vorhandenen Vorlagenspezifikation verwenden Sie das Set-AzTemplateSpec
-Cmdlet. Beispielsweise können Sie dieses Cmdlet verwenden, um einen Hotfix auf eine Version anzuwenden, die Sie bereits veröffentlicht haben:
Set-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
-TemplateFile azuredeploy.json
Ferner können Sie eine Version einer Vorlagenspezifikation mithilfe des Cmdlets Remove-AzTemplateSpec
löschen:
Remove-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0
Zum Aktualisieren einer vorhandenen Vorlagenspezifikation verwenden Sie den az ts update
-Befehl. Beispielsweise können Sie diesen Befehl verwenden, um einen Hotfix auf eine Version anzuwenden, die Sie bereits veröffentlicht haben:
az ts update \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0 \
--template-file azuredeploy.json
Ferner können Sie eine Version einer Vorlagenspezifikation mithilfe des Befehls az ts delete
löschen:
az ts delete \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0
Exportieren einer Vorlagenspezifikation
Nachdem Sie eine Vorlage als Vorlagenspezifikation veröffentlicht haben, können Sie sie exportieren. Beim Exportieren einer Vorlagenspezifikation wird die Vorlagendatei auf Ihren lokalen Computer heruntergeladen. Dort können Sie die Vorlagendatei dann entweder bearbeiten oder sie einfach untersuchen, um zu verstehen, wie sie funktioniert.
Tipp
Wenn Ihre Vorlagenspezifikation verknüpfte Vorlagen enthält, werden beim Exportieren einer Vorlagenspezifikation auch die verknüpften Vorlagen heruntergeladen. Sogar die Ordnerstruktur wird beibehalten.
Wichtig
Wenn Sie eine Bicep-Datei als Vorlagenspezifikation veröffentlichen, wird Ihr Bicep-Code in eine JSON-Vorlage konvertiert. Beim Konvertieren Ihres Bicep-Codes in JSON werden einige der Informationen in Ihrer Bicep-Datei entfernt. Beispielsweise können Ihre Kommentare, symbolischen Namen für Ressourcen und die Reihenfolge, in der Sie Ihre Ressourcen definieren, fehlen oder in JSON abweichen. Dies bedeutet, dass Sie nicht einfach eine Bicep-Datei als Vorlagenspezifikation veröffentlichen und anschließend die ursprüngliche Bicep-Datei zurück erhalten können (auch als Roundtripping bezeichnet). Es ist eine gute Idee, eine Kopie Ihres ursprünglichen Bicep-Codes in einem Coderepository wie Git aufzubewahren, insbesondere wenn Sie mit Vorlagenspezifikationen arbeiten.
Verwenden Sie zum Exportieren einer Vorlagenspezifikation das Export-AzTemplateSpec
-Cmdlet. Geben Sie mithilfe des Werts -OutputFolder
an, wo Sie die Vorlagendateien speichern möchten:
Export-AzTemplateSpec `
-ResourceGroupName MyResourceGroup `
-Name MyTemplateSpec `
-Version 1.0 `
-OutputFolder ./mytemplate
Verwenden Sie zum Exportieren einer Vorlagenspezifikation den az ts export
-Befehl. Geben Sie mithilfe des Werts --output-folder
an, wo Sie die Vorlagendateien speichern möchten:
az ts export \
--resource-group MyResourceGroup \
--name MyTemplateSpec \
--version 1.0 \
--output-folder ./mytemplate
Steuern des Zugriffs auf eine Vorlagenspezifikation
Da es sich bei Vorlagenspezifikationen um Azure-Ressourcen handelt, verwenden sie das IAM (Identity and Access Management) von Azure. Wenn ein Benutzer eine Vorlagenspezifikation bereitstellt, überprüft Azure zunächst, ob der Benutzer Lesezugriff auf die Vorlagenspezifikation hat.
Hinweis
Zum Bereitstellen einer Vorlagenspezifikation benötigt ein Benutzer Folgendes:
- Lesezugriff auf die Vorlagenspezifikation.
- Bereitstellungszugriff auf die Ressourcengruppe oder den sonstigen Bereich, für die/den er die Bereitstellung durchführen möchte.
Azure überprüft vor dem Beginn der Bereitstellung beide Bedingungen.