Freigeben über


Verwenden von Variablen in Azure CLI-Befehlen

Zusätzlich zur direkten Angabe von Werten in einem Befehl können Sie Werte auf verschiedene Arten 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 von Shellvariablen

Azure CLI wird in einer Shell ausgeführt. In diesem Artikel wird Bash verwendet. Informationen zu anderen Skriptsprachen finden Sie unter Auswählen des richtigen Azure-Befehlszeilentools. Sie können Variablen in Bash verwenden, um Werte für Parameter an Befehle zu übergeben. Die Verwendung von Variablen mit der Azure CLI ermöglicht auch die Wiederverwendung von Befehlen, entweder teilmeal oder in Skripts.

In diesem Beispiel wird ein neuer Speicherdatenträger vom gleichen 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 Variablen, die wiederverwendet werden, Werte wie MyResourceGroup und osType zuweisen. Der Befehl az vm get-instance-view in Kombination mit der Abfrage storageProfile.osDisk.osType gibt den Betriebssystemtyp des Datenträgers zurück. Indem der Befehl mit $() umschlossen wird, wird der Rückgabewert des Befehls osType zugewiesen. Weitere --query Informationen 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, stellen Sie sicher, dass der Befehl ein kompatibles Ausgabeformat verwendet. Der Befehl "az vm get-instance-view " verwendet das tsv Ausgabeformat. Diese Option gibt Werte ohne zusätzliche Formatierung, Tasten oder andere Symbole zurück. Einige Ausgabeformate umfassen 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, müssen Sie keine Anführungszeichen verwenden.

Festlegen eines Abonnements

Viele Befehle erfordern ein bestimmtes Abonnement. Azure-Ressourcen sind in Ressourcengruppen vorhanden, die in Abonnements vorhanden sind. Azure CLI verwendet ein Standardabonnement, wenn Sie sich in einer Sitzung befinden. Um Ihren aktuellen Abonnementwert anzuzeigen, führen Sie den Befehl "az account show " aus:

az account show --output table

Möglicherweise haben Sie nur Zugriff auf ein Abonnement. Weitere Informationen finden Sie unter Verwenden von Azure-Abonnements mit Azure CLI . Sie können den Befehl "az account set " verwenden, um Ihr aktuelles Abonnement festzulegen:

az account set --subscription "My Demos"

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

Erstellen von Standardwerten

Sie können Werte für einige Parameter festlegen, indem Sie den Befehl "az config set" verwenden . In diesem Beispiel wird eine Standardressourcengruppe festgelegt:

az config set defaults.group=ContosoRGforVM

Nachdem Sie diesen Befehl ausgeführt haben, können Sie den folgenden Befehl ausführen, um ein Speicherkonto in der Ressourcengruppe ContosoRGforVM zu 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 zurückgibt, z. B. nicht in der Lage, eine Ressourcengruppe zu finden, kann ein Standardwert vorhanden sein.

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

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

Bereinigen von Ressourcen

Wenn Sie Ressourcen zum Testen eines der Befehle in diesem Artikel erstellt haben, können Sie sie mithilfe des Befehls " az group delete " entfernen:

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

Mit diesem Befehl werden die Gruppe und alle darin enthaltenen Ressourcen gleichzeitig entfernt.

Siehe auch