Verwenden von Variablen in Azure CLI-Befehlen

Neben dem direkten Angeben von Werten in einem Befehl können Sie Werte auf verschiedene Weise bereitstellen:

  • Verwenden von Shellvariablen
  • Festlegen eines Abonnements für die Verwendung in mehreren Befehlen
  • Erstellen von Standardwerten für einige Parameter

In diesem Artikel werden verschiedene Möglichkeiten zum Angeben von Werten in Azure CLI Befehlen erläutert.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Verwenden von Shellvariablen

Die Azure CLI wird in einer Shell ausgeführt. In diesem Artikel wird Bash verwendet. Weitere Informationen zu anderen Shells finden Sie unter Effektive Verwendung der Azure CLI. In Bash können Sie mithilfe von Variablen Parametermeter an Befehle übergeben. Durch die Verwendung von Variablen mit der Azure CLI können außerdem Befehle (schrittweise oder in Skripts) wiederverwendet werden.

In diesem Beispiel wird ein neuer Speicherdatenträger vom selben Typ wie der Speicherdatenträger auf einem vorhandenen virtuellen Computer erstellt.

# Bash script
# Assign values to variables
MyResourceGroup=ContosoRGforVM
MySubscription="Contoso subscription"
vmName=VM01

# Get a value for a variable based on an existing virtual machine
osType=$(az vm get-instance-view --resource-group $MyResourceGroup \
   --name $vmName --subscription "$MySubscription" \
   --query 'storageProfile.osDisk.osType' --output tsv)

# Create a disk of the same type by using the variable value
az disk create --resource-group $MyResourceGroup --name DestinationDisk --size-gb 20 --os-type $osType

In diesem Beispiel wird gezeigt, wie Sie Werte zu Variablen zuweisen, die wiederverwendet werden (z. B. MyResourceGroup and osType). Der Befehl az vm get-instance-view kombiniert mit der Abfrage storageProfile.osDisk.osType gibt den Betriebssystemtyp des Datenträgers zurück. Umbruch des Befehls mit $() weist den Rückgabewert des Befehls osType zu. Weitere Informationen zu --query und JMESPath-Abfragen finden Sie unter Abfragen der Azure CLI-Befehlsausgabe mithilfe einer JMESPath-Abfrage.

Wenn Sie einer Variablen einen Wert aus einem anderen Befehl zuweisen, müssen Sie sicherstellen, dass der Befehl ein kompatibles Ausgabeformat verwendet. Der Befehl az vm get-instance-view verwendet das Ausgabeformat tsv. Mit dieser Option werden die Werte ohne zusätzliche Formatierung, Schlüssel oder andere Symbole zurückgegeben. Einige Ausgabeformate enthalten Struktur oder Zeichen wie Anführungszeichen. Weitere Informationen finden Sie unter Ausgabeformate für Azure CLI-Befehle.

In diesem Beispiel muss die Variable MySubscription in Anführungszeichen stehen. Der Wert der Variablen enthält Leerzeichen, die der Befehl nicht analysieren kann. Wenn Sie nur mit Abonnement-IDs arbeiten, brauchen Sie keine Anführungszeichen zu verwenden.

Festlegen eines Abonnements

Für viele Befehle ist ein bestimmtes Abonnement erforderlich. Azure-Ressourcen befinden sich in Ressourcengruppen, die zu Abonnements gehören. Azure CLI verwendet ein Standardabonnement, wenn Sie sich in einer Sitzung befinden. Führen Sie den Befehl az account show aus, um den aktuellen Abonnementwert anzuzeigen:

az account show --output table

Wahrscheinlich haben Sie nur Zugriff auf ein Abonnement. Weitere Informationen finden Sie unter Verwenden von Azure-Abonnements mit Azure CLI. Mit dem Befehl az account set können Sie Ihr aktuelles Abonnement festlegen:

az account set --subscription "My Demos"

Nachdem Sie Ihr Abonnement festgelegt haben, können Sie auf den Parameter --Subscription verzichten. Weitere Informationen finden Sie unter Verwenden mehrerer Azure-Abonnements mit Azure CLI.

Erstellen von Standardwerten

Mit dem Befehl az config set können Sie Werte für einige Parameter festlegen. In diesem Beispiel wird eine Standardressourcengruppe festgelegt:

az config set defaults.group=ContosoRGforVM

Nachdem Sie diesen Befehl ausgeführt haben, können Sie mit dem folgenden Befehl ein Speicherkonto in der Ressourcengruppe „ContosoRGforVM“ erstellen:

az storage account create --name storage135 --location eastus --sku Standard_LRS

Beachten Sie, dass im Befehl keine Ressourcengruppe angegeben ist. Weitere Informationen finden Sie unter Festlegen einer Standardressourcengruppe.

Tipp

Befehle, die Werte für Parameter auf unterschiedliche Weise abrufen, können verwirrend sein. Wenn ein Befehl ein unerwartetes Ergebnis liefert (z. B., dass eine Ressourcengruppe nicht gefunden werden kann), gibt es möglicherweise einen Standardwert.

Wenn ein Fehler auftritt, führen Sie den Befehl erneut mit Angabe von Parameter und Wert aus. Ein expliziter Wert für einen Parameter hat immer Vorrang vor anderen Optionen.

Sie können auf diese Weise Werte für mehrere Parameter angeben. Weitere Informationen finden Sie unter Azure CLI-Konfiguration.

Bereinigen von Ressourcen

Wenn Sie zum Ausprobieren eines Befehls in diesem Artikel Ressourcen erstellt haben, können Sie sie mit dem Befehl az group delete wieder entfernen:

az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG

Mit diesem Befehl werden die Gruppe und gleichzeitig alle darin enthaltenen Ressourcen gelöscht.

Siehe auch