Übung: Verwenden von Azure Resource Manager-Funktionen zum Erstellen von Ausdrücken
Hinweis
Wenn Sie zum ersten Mal eine Sandbox aktivieren und die Bedingungen akzeptieren, ist Ihr Microsoft-Konto einem neuen Azure-Verzeichnis mit dem Namen „Microsoft Learn Sandbox“ zugeordnet. Sie werden zu einem speziellen Abonnement mit der Bezeichnung „Concierge-Abonnement“ hinzugefügt.
In dieser Übung erstellen Sie einen Ausdruck mithilfe von Azure Resource Manager-Vorlagenfunktionen (ARM). Der Ausdruck erstellt einen eindeutigen Namen pro Ressourcengruppe, indem eine Präfixeingabe und ein Hash der Ressourcengruppen-ID kombiniert werden. Dieser Ausdruck führt zu Azure Storage-Kontonamen wie dev2hu6sbtr5
und staging5his8hgr67
.
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 der ARM-Vorlagendatei
Im vorherigen Modul haben Sie eine ARM-Vorlage erstellt, mit der ein Speicherkonto bereitgestellt wurde. Sie haben dieser Datei Parameter und eine Ausgabe hinzugefügt. Hier verwenden Sie diese Datei als Ausgangspunkt. Die Ausgabe wurde jedoch entfernt, um den Mehraufwand zu verringern.
Öffnen Sie Visual Studio Code, und erstellen Sie eine Datei mit dem Namen azuredeploy.json. Wenn Sie aus dem vorherigen Modul bereits über diese Datei verfügen, können Sie diese Datei verwenden.
Ersetzen Sie den Inhalt der Datei durch folgenden Code:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageName": { "type": "string", "minLength": 3, "maxLength": 24 }, "storageSKU": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS" ] } }, "functions": [], "variables": {}, "resources": [{ "name": "[parameters('storageName')]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[parameters('storageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Wenn Sie das vorherige Modul nicht abgeschlossen haben, nehmen Sie sich einen Moment Zeit, um diese Datei durchzusehen. Beachten Sie den
storageName
-Parameter. Dieser Parameter wird verwendet, um einen eindeutigen Namen für das Speicherkonto zu übergeben.
Erstellen eines Ausdrucks zum Festlegen eines eindeutigen Speicherkontonamens
Anstatt den Namen des Speicherkontos zu übergeben, ändern Sie den Parameter so, dass ein Präfix für den Namen des Speicherkontos angenommen wird. Dieser Parameter wird an die concat
-Funktion in Ihrem Ausdruck übergeben.
Ändern Sie
storageName
im Abschnittparameters
in storagePrefix.Ändern Sie den Wert des
maxLength:
-Attributs desstoragePrefix
-Parameters in 11. Die maximale Länge für den Namen eines Speicherkontos beträgt 24 Zeichen, sodass Sie sicherstellen müssen, dass der hinzugefügte Hash aus der von Ihnen erstellten Funktion den Namen nicht auf über 24 Zeichen verlängert.Erstellen Sie einen Ausdruck zum Festlegen des eindeutigen Speicherkontonamens. Ändern Sie im Abschnitt
resources
die Werte dername:
- unddisplayName:
-Attribute von"[parameters('storageName')]"
in "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". In der vorherigen Lerneinheit haben Sie bereits Informationen zu diesem Ausdruck erhalten. Die Datei sollte jetzt 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" ] } }, "functions": [], "variables": {}, "resources": [{ "name": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]", "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2019-06-01", "tags": { "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Bereitstellen der ARM-Vorlage in Azure
Um diese Vorlage in Azure bereitzustellen, müssen Sie sich über das Visual Studio Code-Terminal bei Ihrem Azure-Konto anmelden. Sorgen Sie dafür, dass die Azure CLI-Tools installiert sind. Achten Sie außerdem darauf, dass Sie sich bei demselben Konto anmelden, über das die Sandbox aktiviert wurde.
Öffnen Sie über das Menü Terminal ein Terminalfenster.
Wenn das Dropdownmenü rechts im Terminalfenster bash heißt, ist die richtige Shell zum Arbeiten ausgewählt. Sie können in diesem Fall mit dem nächsten Abschnitt fortfahren.
Wenn nicht die richtige Shell ausgewählt ist, wählen Sie im Dropdownmenü Standardshell auswählen aus.
Wählen Sie die Option bash aus:
Wählen Sie + im Terminal aus, um ein neues Terminal mit bash als Shell zu erstellen.
Anmelden bei Azure
Führen Sie im Terminal in Visual Studio Code den folgenden Befehl aus, um sich bei Azure anzumelden. Wenn Sie diesen Befehl ausführen, wird ein Browser geöffnet, in dem Sie sich bei Ihrem Konto anmelden können:
az login
Sobald Sie angemeldet sind, wird im Terminal eine Liste der Abonnements angezeigt, die mit diesem Konto verknüpft sind. Wenn Sie die Sandbox aktiviert haben, wird ein Abonnement mit dem Namen Concierge-Abonnement angezeigt. Dieses verwenden Sie für den Rest der Übung.
Legen Sie das Standardabonnement für alle Azure CLI-Befehle fest, die Sie in dieser Sitzung ausführen:
az account set --subscription "Concierge Subscription"
Hinweis
Wenn Sie in jüngster Zeit mehr als eine Sandbox verwendet haben, werden möglicherweise mehrere Abonnements vom Typ „Concierge-Abonnement“ aufgeführt. Verwenden Sie in diesem Fall die nächsten beiden Schritte, um das Standardabonnement festzulegen. Wenn der oben genannte Befehl erfolgreich war, überspringen Sie die nächsten beiden Schritte.
Rufen Sie die Concierge-Abonnement-IDs ab:
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Legen Sie das Standardabonnement mit der Abonnement-ID fest. Ersetzen Sie
{your subscription ID}
durch die aktuelle Concierge-Abonnement-ID.az account set --subscription {your subscription ID}
Festlegen der Standardressourcengruppe
Legen Sie die Standardressourcengruppe auf die Ressourcengruppe fest, die in der Sandboxumgebung für Sie erstellt wurde. So können Sie auf diesen Parameter bei den restlichen Azure CLI-Befehlen in dieser Übung verzichten.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
Bereitstellen der Vorlage in Azure
Sie haben die Bereitstellungsbefehle im vorherigen Modul kennengelernt. Hier verwenden Sie den Befehl az deployment group create
der Azure CLI.
Stellen Sie die Vorlage mithilfe von Azure CLI-Befehlen im Visual Studio Code-Terminal bereit. Ersetzen Sie dabei
{your-prefix}
durch eine andere Zeichenfolge. Sie könnten beispielsweise storage verwenden.templateFile="azuredeploy.json" today=$(date +"%d-%b-%Y") DeploymentName="addfunction-"$today az deployment group create \ --name $DeploymentName \ --template-file $templateFile \ --parameters storagePrefix={your-prefix}
Im ersten Abschnitt dieses Codes legen Sie Azure CLI-Variablen für den Pfad zur Vorlagendatei fest, die Sie bereitstellen möchten, sowie den Namen dieser Bereitstellung. Verwenden Sie dann den Befehl
az deployment group create
, um die Vorlage in Azure bereitzustellen.Die Meldung
Running...
sollte im Terminal angezeigt werden.
Sie müssen sich über das Visual Studio Code-Terminal bei Ihrem Azure-Konto anmelden, um diese Vorlage in Azure bereitzustellen. Stellen Sie sicher, dass die Azure PowerShell-Tools installiert sind und Sie sich bei demselben Konto anmelden, mit dem die Sandbox aktiviert wurde.
Öffnen Sie über das Menü Terminal ein Terminalfenster.
Wenn das Dropdownmenü rechts im Terminalfenster pwsh heißt, ist die richtige Shell zum Arbeiten ausgewählt. Sie können in diesem Fall mit dem nächsten Abschnitt fortfahren.
Wenn nicht die richtige Shell ausgewählt ist, wählen Sie im Dropdownmenü Standardshell auswählen aus.
Wählen Sie pwsh aus.
Wählen Sie + im Terminal aus, um ein neues Terminal mit pwsh als Shell zu erstellen.
Anmelden bei Azure mithilfe von Azure PowerShell
Führen Sie im Terminal in Visual Studio Code den folgenden Befehl aus, um sich bei Azure anzumelden. Wenn Sie diesen Befehl ausführen, werden Sie aufgefordert, einen Browser mit einer URL zu öffnen, unter der Sie sich bei Ihrem Konto anmelden können. Verwenden Sie den Code, der in der Eingabeaufforderung angezeigt wird. Stellen Sie sicher, dass Sie sich mit demselben Konto anmelden, das Sie zum Aktivieren der Sandbox verwendet haben.
Connect-AzAccount
Sobald Sie angemeldet sind, wird im Terminal eine Liste der Abonnements angezeigt, die mit diesem Konto verknüpft sind. Wenn Sie die Sandbox aktiviert haben, wird ein Abonnement mit dem Namen Concierge-Abonnement angezeigt. Dieses verwenden Sie für den Rest der Übung.
Legen Sie das Standardabonnement für alle Azure CLI-Befehle fest, die Sie in dieser Sitzung ausführen.
Rufen Sie die Abonnement-ID ab. Der Befehl listet Ihre Abonnements und deren IDs auf. Die Abonnement-ID befindet sich in der zweiten Spalte. Suchen Sie nach
Concierge Subscription
, und kopieren Sie die zweite Spalte. Sie sieht etwa wie folgt aus:aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
.Get-AzSubscription
Ändern Sie Ihr aktives Abonnement in „Concierge-Abonnement“. Denken Sie daran,
{Your subscription ID}
durch die kopierte ID zu ersetzen.$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Legen Sie die Standardressourcengruppe auf die Ressourcengruppe fest, die in der Sandboxumgebung für Sie erstellt wurde. So können Sie auf diesen Parameter bei den restlichen Azure PowerShell-Befehlen in dieser Übung verzichten.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Bereitstellen der Vorlage in Azure
Sie haben die Bereitstellungsbefehle im vorherigen Modul kennengelernt. Hier verwenden Sie den Azure PowerShell-Befehl New-AzResourceGroupDeployment
.
Stellen Sie die Vorlage mithilfe von Azure PowerShell-Befehlen im Visual Studio Code-Terminal bereit. Ersetzen Sie dabei
{your-prefix}
durch eine andere Zeichenfolge. Sie könnten beispielsweise storage verwenden.$templateFile = "azuredeploy.json" $today=Get-Date -Format "MM-dd-yyyy" $deploymentName="addfunction-"+"$today" New-AzResourceGroupDeployment ` -Name $deploymentName ` -TemplateFile $templateFile ` -storagePrefix {your-prefix}
Im ersten Abschnitt dieses Codes legen Sie Azure PowerSheli-Variablen für den Pfad zur Vorlagendatei fest, die Sie bereitstellen möchten, sowie den Namen dieser Bereitstellung. Verwenden Sie dann den Befehl New-AzResourceGroupDeployment
, um die Vorlage in Azure bereitzustellen.
Überprüfen Ihrer Bereitstellung
Wenn die Bereitstellung abgeschlossen ist, navigieren Sie zum Azure Portal, und stellen Sie sicher, dass Sie sich im Sandboxabonnement befinden. Wählen Sie zur Überprüfung des Abonnements Ihren Avatar in der oberen rechten Ecke der Seite aus. Klicken Sie dann auf Verzeichnis wechseln. Wählen Sie in der Liste das Verzeichnis Microsoft Learn Sandbox aus.
Klicken Sie im linken Bereich auf Ressourcengruppen.
Wählen Sie
[Name der Sandboxressourcengruppe] aus.In der Übersicht sehen Sie, dass eine Bereitstellung erfolgreich war:
Klicken Sie auf 1 erfolgreich, um die Details der Bereitstellung anzuzeigen:
Wählen Sie addfunction aus, damit angezeigt wird, welche Ressourcen bereitgestellt wurden:
Lassen Sie die Seite im Browser geöffnet, damit Sie die Bereitstellungen später im Modul erneut überprüfen können.