Använda variabler i Azure CLI-kommandon

Förutom att ange värden direkt i ett kommando kan du ange värden på flera sätt:

  • Använda gränssnittsvariabler
  • Ange en prenumeration för användning i flera kommandon
  • Skapa standardvärden för vissa parametrar

I den här artikeln beskrivs olika sätt att ange värden i Azure CLI-kommandon.

Förutsättningar

Använda gränssnittsvariabler

Azure CLI körs i ett gränssnitt. Den här artikeln använder Bash. Information om andra gränssnitt finns i Använda Azure CLI effektivt. Du kan använda variabler i Bash för att skicka värden för parametrar till kommandon. Om du använder variabler med Azure CLI kan du också återanvända kommandon, antingen bit för bit eller i skript.

I det här exemplet skapas en ny lagringsdisk av samma typ som lagringsdisken på en befintlig virtuell dator.

# 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

Det här exemplet visar hur du tilldelar värden till variabler som återanvänds, till exempel MyResourceGroup och osType. Kommandot az vm get-instance-view kombinerat med frågan storageProfile.osDisk.osType returnerar diskens operativsystemtyp. Omsluter kommandot med $() tilldelar kommandots returvärde till osType. Mer information om --query och JMESPath-frågor finns i Köra frågor mot Azure CLI-kommandoutdata med hjälp av en JMESPath-fråga.

När du tilldelar ett värde till en variabel från ett annat kommando kontrollerar du att kommandot använder ett kompatibelt utdataformat. Kommandot az vm get-instance-view använder tsv utdataformatet. Det här alternativet returnerar värden utan extra formatering, nycklar eller andra symboler. Vissa utdataformat innehåller struktur eller tecken som citattecken. Mer information finns i Utdataformat för Azure CLI-kommandon.

I det här exemplet måste variabeln MySubscription vara inom citattecken. Värdet för variabeln innehåller blanksteg som kommandot inte kan parsa. Om du bara arbetar med prenumerations-ID:n behöver du inte använda citattecken.

Ange en prenumeration

Många kommandon kräver en specifik prenumeration. Azure-resurser finns i resursgrupper som finns i prenumerationer. Azure CLI använder en standardprenumeration när du är i en session. Om du vill se ditt aktuella prenumerationsvärde kör du kommandot az account show :

az account show --output table

Du kanske bara har åtkomst till en prenumeration. Mer information finns i Använda Azure-prenumerationer med Azure CLI Du kan använda kommandot az account set för att ange din aktuella prenumeration:

az account set --subscription "My Demos"

När du har angett din prenumeration kan du utelämna --Subscription parametern. Mer information finns i Använda Azure-prenumerationer med Azure CLI.

Skapa standardvärden

Du kan ange värden för vissa parametrar med kommandot az config set . I det här exemplet anges en standardresursgrupp:

az config set defaults.group=ContosoRGforVM

När du har kört det här kommandot kan du köra följande kommando för att skapa ett lagringskonto i resursgruppen ContosoRGforVM:

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

Observera att det inte finns någon resursgrupp angiven i kommandot . Mer information finns i Ange en standardresursgrupp.

Dricks

Kommandon som hämtar värden för parametrar på olika sätt kan vara förvirrande. Om ett kommando ger ett oväntat resultat, till exempel att inte kunna hitta en resursgrupp, kan det finnas ett standardvärde.

Om det uppstår ett fel kör du kommandot igen med parametern och värdet angivet. Ett explicit värde för en parameter har alltid företräde framför andra alternativ.

Du kan ange värden för flera parametrar på det här sättet. Mer information finns i Azure CLI-konfiguration.

Rensa resurser

Om du har skapat resurser för att prova något av kommandona i den här artikeln kan du ta bort dem med kommandot az group delete :

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

Det här kommandot tar bort gruppen och alla resurser som den innehåller samtidigt.

Se även