Variabelen gebruiken in Azure CLI-opdrachten

Naast het opgeven van waarden rechtstreeks in een opdracht, kunt u waarden op verschillende manieren opgeven:

  • Shell-variabelen gebruiken
  • Een abonnement instellen voor gebruik in meerdere opdrachten
  • Standaardwaarden maken voor sommige parameters
  • Permanente waarden gebruiken voor sommige parameters

In dit artikel worden verschillende manieren besproken om waarden op te geven in Azure CLI-opdrachten.

Vereisten

  • Gebruik Azure Cloud Shell met behulp van de bash-omgeving.

    Cloud Shell starten in een nieuw venster

  • Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren.

    • Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht AZ login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Zie Aanmelden met Azure CLI voor aanvullende aanmeldingsopties.
    • Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Zie Extensies gebruiken met Azure CLI voor meer informatie over extensies.
    • Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.

Shell-variabelen gebruiken

Azure CLI wordt uitgevoerd in een shell. In dit artikel wordt bash gebruikt. Zie Azure CLI effectief gebruiken voor meer informatie over andere shells. U kunt variabelen in Bash gebruiken om waarden voor parameters door te geven aan opdrachten. Door variabelen te gebruiken met de Azure CLI kunnen opdrachten ook worden hergebruikt, ofwel stuksge per stuk of in scripts.

In dit voorbeeld wordt een nieuwe opslagschijf van hetzelfde type gemaakt als de opslagschijf op een bestaande virtuele machine.

# 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 dit voorbeeld ziet u hoe u waarden toewijst aan variabelen die opnieuw worden gebruikt, zoals MyResourceGroup. Een opdracht haalt een waarde op die moet worden toegewezen aan osType.

Wanneer u een waarde toewijst aan een variabele vanuit een andere opdracht, moet u ervoor zorgen dat de opdracht een compatibele uitvoerindeling gebruikt. De opdracht az vm get-instance-view maakt gebruik van tsv de uitvoerindeling. Deze optie retourneert waarden zonder extra opmaak, sleutels of andere symbolen. Sommige uitvoerindelingen bevatten structuur of tekens zoals aanhalingstekens. Zie Uitvoerindelingen voor Azure CLI-opdrachten voor meer informatie.

In dit voorbeeld moet de variabele MySubscription tussen aanhalingstekens zijn. De waarde van de variabele bevat spaties, die de opdracht niet kan parseren. Als u alleen met abonnements-ID's werkt, hoeft u geen aanhalingstekens te gebruiken.

Een abonnement instellen

Voor veel opdrachten is een specifiek abonnement vereist. Azure-resources bestaan in resourcegroepen, die bestaan in abonnementen. Azure CLI maakt gebruik van een standaardabonnement wanneer u een sessie hebt. Als u de waarde van uw huidige abonnement wilt zien, moet u de opdracht az account show uitvoeren:

az account show --output table

Mogelijk hebt u toegang tot slechts één abonnement. Zie Azure-abonnementen gebruiken met Azure CLI U kunt de opdracht az account set gebruiken om uw huidige abonnement in te stellen voor meer informatie:

az account set --subscription "My Demos"

Nadat u uw abonnement hebt ingesteld, kunt u de --Subscription parameter weglaten. Zie Azure-abonnementen gebruiken met Azure CLI voor meer informatie.

Standaardwaarden maken

U kunt waarden voor sommige parameters instellen met behulp van de opdracht az config set. In dit voorbeeld wordt een standaardresourcegroep ingesteld:

az config set defaults.group=ContosoRGforVM

Nadat u deze opdracht hebt uitgevoerd, kunt u de volgende opdracht uitvoeren om een opslagaccount te maken in de resourcegroep ContosoRGforVM:

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

U ziet dat er geen resourcegroep is opgegeven in de opdracht . Zie Een standaardresourcegroep instellen voor meer informatie.

Tip

Opdrachten die op verschillende manieren waarden voor parameters verkrijgen, kunnen verwarrend zijn. Als een opdracht een onverwacht resultaat geeft, zoals het niet kunnen vinden van een resourcegroep, is er mogelijk een standaardwaarde.

Als er een fout is opgetreden, moet u de opdracht opnieuw uitvoeren met de opgegeven parameter en waarde. Een expliciete waarde voor een parameter heeft altijd voorrang op andere opties.

U kunt op deze manier waarden voor verschillende parameters opgeven. Zie Azure CLI-configuratie voor meer informatie.

Permanente waarden gebruiken

Met persistente parameterwaarden kunt u slechts één keer een waarde opgeven. Als u verschillende gerelateerde acties in een resourcegroep hebt, hoeft u die groep niet herhaaldelijk op te geven.

Voer deze opdracht uit om een parameterwaarde persistent te maken:

az config param-persist on

Nadat u persistentie in heeft in- of uitschakelen, maakt u een resourcegroep:

az group create --name ContosoStorageRG --location eastus

Zolang persistentie is aan, kunt u de --resource-group parameter buiten toekomstige opdrachten laten. Met de volgende opdracht maakt u een opslagaccount in de resourcegroep ContosoStorageRG:

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

Zie Persistente Parameter in Azure CLI voor meer informatie.

Resources opschonen

Als u resources hebt gemaakt om een van de opdrachten in dit artikel uit te proberen, kunt u ze verwijderen met behulp van de opdracht az group delete:

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

Met deze opdracht verwijdert u de groep en alle resources die deze in één keer bevat.

U kunt de permanente parameters verwijderen door de opdracht az config param-persist delete uit te voeren:

az config param-persist delete --all

Volgende stappen