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
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
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. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg 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 Het juiste Azure-opdrachtregelprogramma kiezen voor meer informatie over andere scripttalen. 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.