Come usare le variabili nei comandi dell'interfaccia della riga di comando di Azure
Oltre a specificare i valori direttamente in un comando, è possibile fornire valori in diversi modi:
- Usare le variabili della shell
- Impostare una sottoscrizione da usare in più comandi
- Creare valori predefiniti per alcuni parametri
Questo articolo illustra diversi modi per specificare i valori nei comandi dell'interfaccia della riga di comando di Azure.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Usare le variabili della shell
L'interfaccia della riga di comando di Azure viene eseguita in una shell. Questo articolo usa Bash. Per informazioni su altri linguaggi di scripting, vedere Scegliere lo strumento da riga di comando di Azure appropriato. È possibile usare le variabili in Bash per passare valori per i parametri ai comandi. L'uso di variabili con l'interfaccia della riga di comando di Azure consente anche il riutilizzo dei comandi, a fasi o negli script.
In questo esempio viene creato un nuovo disco di archiviazione dello stesso tipo del disco di archiviazione in una macchina virtuale esistente.
# 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
Questo esempio illustra come assegnare valori a variabili riutilizzate, ad esempio MyResourceGroup e osType. Il comando az vm get-instance-view combinato con la query storageProfile.osDisk.osType
restituisce il tipo di sistema operativo del disco. Il wrapping del comando con $()
assegna il valore restituito del comando a osType
. Per altre informazioni sulle query JMESPath, vedere Come eseguire query sull'output --query
dei comandi dell'interfaccia della riga di comando di Azure usando una query JMESPath.
Quando si assegna un valore a una variabile da un altro comando, assicurarsi che il comando usi un formato di output compatibile. Il comando az vm get-instance-view usa il tsv
formato di output. Questa opzione restituisce valori senza formattazione aggiuntiva, chiavi o altri simboli. Alcuni formati di output includono struttura o caratteri come virgolette. Per altre informazioni, vedere Formati di output per i comandi dell'interfaccia della riga di comando di Azure.
In questo esempio la variabile MySubscription deve essere tra virgolette. Il valore della variabile contiene spazi, che il comando non può analizzare. Se si usano solo ID sottoscrizione, non è necessario usare le virgolette.
Impostare una sottoscrizione
Molti comandi richiedono una sottoscrizione specifica. Le risorse di Azure esistono nei gruppi di risorse esistenti nelle sottoscrizioni. L'interfaccia della riga di comando di Azure usa una sottoscrizione predefinita quando si è in una sessione. Per visualizzare il valore della sottoscrizione corrente, eseguire il comando az account show :
az account show --output table
È possibile avere accesso a una sola sottoscrizione. Per altre informazioni, vedere Usare le sottoscrizioni di Azure con l'interfaccia della riga di comando di Azure È possibile usare il comando az account set per impostare la sottoscrizione corrente:
az account set --subscription "My Demos"
Dopo aver impostato la sottoscrizione, è possibile omettere --Subscription
il parametro . Per altre informazioni, vedere Usare le sottoscrizioni di Azure con l'interfaccia della riga di comando di Azure.
Creare valori predefiniti
È possibile impostare i valori per alcuni parametri usando il comando az config set . Questo esempio imposta un gruppo di risorse predefinito:
az config set defaults.group=ContosoRGforVM
Dopo aver eseguito questo comando, è possibile eseguire il comando seguente per creare un account di archiviazione nel gruppo di risorse ContosoRGforVM:
az storage account create --name storage135 --location eastus --sku Standard_LRS
Si noti che nel comando non è specificato alcun gruppo di risorse. Per altre informazioni, vedere Impostare un gruppo di risorse predefinito.
Suggerimento
I comandi che ottengono valori per i parametri in modi diversi possono generare confusione. Se un comando restituisce un risultato imprevisto, ad esempio non è in grado di trovare un gruppo di risorse, potrebbe essere presente un valore predefinito.
Se si verifica un errore, eseguire di nuovo il comando con il parametro e il valore specificati. Un valore esplicito per un parametro ha sempre la precedenza su altre opzioni.
È possibile specificare i valori per diversi parametri in questo modo. Per altre informazioni, vedere Configurazione dell'interfaccia della riga di comando di Azure.
Pulire le risorse
Se sono state create risorse per provare uno dei comandi di questo articolo, è possibile rimuoverle usando il comando az group delete :
az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG
Questo comando rimuove il gruppo e tutte le risorse che contiene contemporaneamente.