Übung: Verwenden von Azure Resource Manager-Tags und Parameterdateien
In dieser Übung fügen Sie Tags hinzu, um das Organisieren und die Nachverfolgung Ihrer Microsoft Azure-Ressourcen zu unterstützen. Sie können auch eine Azure Resource Manager-Vorlagenparameterdatei (ARM) verwenden, damit verschiedene Parameterkonfigurationen für Bereitstellungen möglich sind.
In dieser Übung werden die Azure Resource Manager-Tools für Visual Studio Code verwendet. Sie müssen diese Erweiterung in Visual Studio Code installieren.
Erstellen eines Tags zum Nachverfolgen der Ressourcenbereitstellungsumgebung und des Projekts
Hier erstellen Sie zuerst einen Parameter, der als Ressourcentag in Ihrer Vorlage verwendet wird.
Setzen Sie in Visual Studio Code in der Datei azuredeploy.json den Cursor hinter die schließende Klammer für den Parameter
storageSKU
. Fügen Sie ein Komma hinzu, und drücken Sie die EINGABETASTE.Geben Sie par ein. Es wird eine Liste verwandter Codeausschnitte angezeigt.
Wählen Sie arm-param aus. Denken Sie daran, dass diese Aktion der Vorlage einen generischen Parameter hinzufügt. Sie sieht wie dieser Code aus:
"parameter1": { "type": "string", "metadata": { "description": "description" }
Ändern Sie
parameter1
in resourceTags, und ändern Sie den Wert"type":
in object. Beachten Sie, dass Parameter die Datentypen „string“, „secureString“, „int“, „bool“, „object“, „secureObject“ und „array“ aufweisen können. Einen Link zu Beispielsyntax für diese Parametertypen finden Sie in der Zusammenfassung dieses Moduls.Fügen Sie ein Attribut namens defaultValue: hinzu, und legen Sie den Wert auf {"Environment": "Dev", "Project": "Tutorial"} fest.
Der Parameterblock sollte wie im folgenden Code aussehen:
"parameters": { "storagePrefix": { "type": "string", "minLength": 3, "maxLength": 11 }, "storageSKU": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } },
Verwenden Sie diesen Parameter, um die Speicherkontoressource zu taggen. Ändern Sie das
tags:
-Attribut in der Ressourcendefinition:"tags": "[parameters('resourceTags')]",
Ihre Datei sollte wie folgt aussehen:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storagePrefix": { "type": "string", "minLength": 3, "maxLength": 11 }, "storageSKU": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS" ] }, "resourceTags": { "type": "object", "defaultValue": { "Environment": "Dev", "Project": "Tutorial" } } }, "functions": [], "variables": { "uniqueStorageName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "resources": [{ "name": "[variables('uniqueStorageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": "[parameters('resourceTags')]", "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Speichern Sie die Datei.
Bereitstellen der ARM-Vorlage mit aktualisierten Tags
Stellen Sie die aktualisierte ARM-Vorlage in Azure bereit. Achten Sie darauf, denselben
storagePrefix
-Parameterwert zu verwenden, den Sie zuvor verwendet haben.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="updateTags-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-Prefix} storageSKU=Standard_LRS
Stellen Sie die aktualisierte ARM-Vorlage in Azure bereit. Achten Sie darauf, denselben
storagePrefix
-Parameterwert zu verwenden, den Sie zuvor verwendet haben.$templateFile = "azuredeploy.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="updateTags-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -storagePrefix {your storagePrefix} ` -storageSKU Standard_LRS
Überprüfen des Vorhandenseins der neuen Tags in der Bereitstellung
Wählen Sie in Azure die Ressourcengruppe
[Sandbox-Ressourcengruppenname] aus und dann das Speicherkonto, das Sie bereitgestellt haben.Beachten Sie Umgebung: Dev und Project : Tutorial:
Verwenden einer Parameterdatei
Derzeit gibt es drei Parameter, die jedes Mal angegeben werden müssen, wenn Sie diese Vorlage bereitstellen. Jeder Benutzer der Vorlage kann eine Datei erstellen, die seine Parameterwerte enthält. Hier erstellen Sie eine Parameterdatei für die Verwendung mit Ihrer Vorlage.
Erstellen Sie in Visual Studio Code eine andere Datei. Nennen Sie sie azuredeploy.parameters.dev.json.
In dieser Datei speichern Sie die Werte für die Vorlagenparameter, die Sie in die Vorlage für die Entwicklungsumgebung eingeben möchten. Ändern Sie einen Tagwert, damit Sie sehen können, dass für die Bereitstellung eine Änderung vorgenommen wird. Sie könnten beispielsweise
projectName
in Learn ändern:{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "storagePrefix": { "value": "{unique-prefix}" }, "storageSKU": { "value": "Standard_LRS" }, "resourceTags": { "value": { "Environment": "Dev", "Project": "Learn" } } } }
Denken Sie daran,
{unique-prefix}
durch ein eindeutiges Präfix zu ersetzen.Speichern Sie die Datei.
Bereitstellen der Vorlage mit der Parameterdatei
In diesem Abschnitt stellen Sie die ARM-Vorlage bereit und geben an, welche Parameterdatei verwendet werden soll.
Führen Sie im Visual Studio Code-Terminal die folgenden Azure CLI-Befehle aus:
templateFile="azuredeploy.json" devParameterFile="azuredeploy.parameters.dev.json" today=$(date +"%d-%b-%Y") DeploymentName="addParameterFile-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters $devParameterFile
Überprüfen Sie in Azure, ob die Bereitstellung erfolgreich war und ob sich der Tagwert geändert hat:
Erstellen Sie als Herausforderung eine Parameterdatei für die Produktionsumgebung. Ändern Sie den Pfad der Parameterdatei, wenn Sie den Befehl ausführen, um die Bereitstellung in der Produktionsumgebung auszuführen.
Führen Sie im Visual Studio Code-Terminal die folgenden Azure PowerShell-Befehle aus:
$templateFile = "azuredeploy.json" $parameterFile="azuredeploy.parameters.dev.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="addParameterFile-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -TemplateParameterFile $parameterFile
Überprüfen Sie in Azure, ob die Bereitstellung erfolgreich war und ob sich der Tagwert geändert hat:
Erstellen Sie als Herausforderung eine Parameterdatei für die Produktionsumgebung. Ändern Sie den Pfad der Parameterdatei, wenn Sie den Befehl ausführen, um die Bereitstellung in der Produktionsumgebung auszuführen.