Variabelen gebruiken in Azure CLI-opdrachten

Naast het rechtstreeks opgeven van waarden 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

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

Vereisten

Shell-variabelen gebruiken

Azure CLI wordt uitgevoerd in een shell. In dit artikel wordt Bash gebruikt. Zie Azure CLI effectief gebruiken voor informatie over andere shells. U kunt variabelen in Bash gebruiken om waarden voor parameters door te geven aan opdrachten. Als u variabelen gebruikt met de Azure CLI, kunt u opdrachten ook opnieuw gebruiken, ofwel stukmeal of in scripts.

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

# 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 dit voorbeeld ziet u hoe u waarden toewijst aan variabelen die opnieuw worden gebruikt, zoals MyResourceGroup en osType. De opdracht az vm get-instance-view gecombineerd met de query storageProfile.osDisk.osType retourneert het type besturingssysteem van de schijf. Als u de opdracht verpakt met $() de retourwaarde van de opdracht toewijst aan osType. Zie Voor meer informatie over --query en JMESPath-query's het uitvoeren van query's op Azure CLI-opdrachten met behulp van een JMESPath-query.

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 de tsv uitvoerindeling. Met deze optie worden waarden geretourneerd zonder extra opmaak, toetsen 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 staan. De waarde van de variabele bevat spaties, die niet door de opdracht kunnen worden geparseerd. Als u alleen werkt met abonnements-id's, 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 zich in een sessie bevindt. Als u de huidige abonnementswaarde wilt zien, voert u de opdracht az account show uit :

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 parameter weglaten --Subscription . 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 waarden voor parameters op verschillende manieren ophalen, 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 optreedt, voert u de opdracht opnieuw uit met de parameter en de opgegeven waarde. Een expliciete waarde voor een parameter heeft altijd voorrang op andere opties.

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

Resources opschonen

Als u resources hebt gemaakt om een van de opdrachten in dit artikel uit te voeren, kunt u deze 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.

Zie ook