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 le variabili della shell

L'interfaccia della riga di comando di Azure viene eseguita in una shell. Questo articolo usa Bash. Per informazioni su altre shell, vedere Usare l'interfaccia della riga di comando di Azure in modo efficace. È 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.

Vedi anche