Share via


Come usare l'estensione alias dell'interfaccia della riga di comando di Azure

L'estensione alias consente agli utenti di definire comandi personalizzati per l'interfaccia della riga di comando di Azure usando comandi esistenti. Gli alias aiutano a mantenere il flusso di lavoro semplice, consentendo collegamenti. Il motore di modelli Jinja2 supporta gli alias dell'interfaccia della riga di comando di Azure e offre un'elaborazione avanzata degli argomenti.

Nota

L'estensione alias è disponibile in anteprima pubblica. Le funzionalità e il formato del file di configurazione potrebbero subire modifiche.

Installare l'estensione alias

Per usare l'estensione alias, la versione minima necessaria dell'interfaccia della riga di comando di Azure è la 2.0.28. Per controllare la versione dell'interfaccia della riga di comando, eseguire az --version. Se è necessario aggiornare l'installazione, seguire le istruzioni riportate in Installare l'interfaccia della riga di comando di Azure.

Installare l'estensione alias con il comando az extension add .

az extension add --name alias

Verificare l'installazione dell'estensione con az extension list. Se l'estensione alias è stata installata correttamente, viene elencata nell'output del comando.

az extension list --output table --query '[].{Name:name}'
Name
------
alias

Mantenere aggiornata l'estensione alias

L'estensione alias è in fase di sviluppo attivo e vengono rilasciate regolarmente nuove versioni. Le nuove versioni non vengono installate quando si aggiorna l'interfaccia della riga di comando. Installare gli aggiornamenti dell'estensione con az extension update.

az extension update --name alias

Gestire gli alias per l'interfaccia della riga di comando di Azure

L'estensione alias consente di creare e gestire alias per altri comandi dell'interfaccia della riga di comando. Per visualizzare tutti i comandi disponibili e informazioni dettagliate sui parametri, eseguire il comando alias con --help.

az alias --help

Creare semplici comandi alias

Gli alias possono essere usati per abbreviare gruppi di comandi o nomi di comando esistenti. Ad esempio, è possibile abbreviare il gruppo di comandi group in rg e il comando list in ls.

az alias create --name rg --command group
az alias create --name ls --command list

I nuovi alias definiti possono quindi essere usati ovunque verrebbe usata la rispettiva definizione.

az rg list
az rg ls
az vm ls

Non includere az come parte del comando alias.

Gli alias possono anche essere abbreviazioni di comandi completi. L'esempio successivo elenca i gruppi di risorse disponibili e le rispettive località in un output di tabella:

az alias create --name ls-groups --command "group list --query '[].{Name:name, Location:location}' --output table"

È quindi possibile eseguire ls-groups come qualsiasi altro comando dell'interfaccia della riga di comando.

az ls-groups

Creare un comando alias con argomenti

È anche possibile aggiungere argomenti posizionali a un comando alias includendoli come {{ arg_name }} nel nome dell'alias. Lo spazio vuoto all'interno delle parentesi graffe è obbligatorio.

az alias create --name "alias_name {{ arg1 }} {{ arg2 }} ..." --command "invoke_including_args"

L'alias di esempio successivo mostra come usare argomenti posizionali per ottenere l'indirizzo IP pubblico per una VM.

az alias create \
    --name "get-vm-ip {{ resourceGroup }} {{ vmName }}" \
    --command "vm list-ip-addresses --resource-group {{ resourceGroup }} --name {{ vmName }}
        --query [0].virtualMachine.network.publicIpAddresses[0].ipAddress"

Quando si esegue questo comando, si assegnano valori agli argomenti posizionali.

az get-vm-ip MyResourceGroup MyVM

Nei comandi con alias è anche possibile usare variabili di ambiente che vengono valutate in fase di esecuzione. L'esempio successivo aggiunge l'alias create-rg che crea un gruppo di risorse in eastus e aggiunge un tag owner. A questo tag verrà assegnato il valore della variabile di ambiente locale USER.

az alias create \
    --name "create-rg {{ groupName }}" \
    --command "group create --name {{ groupName }} --location eastus --tags owner=\$USER"

Per registrare la variabile di ambiente nel comando dell'alias, è necessario che il simbolo del dollaro $ sia preceduto da un carattere di escape.

Elaborare gli argomenti con i modelli Jinja2

Jinja2 esegue la sostituzione dell'argomento nell'estensione alias. I modelli Jinja2 consentono di modificare gli argomenti.

Con i modelli Jinja2 è possibile scrivere alias che accettano tipi di argomenti diversi rispetto al comando sottostante. Ad esempio, è possibile creare un alias che accetta un URL di archiviazione. Tale URL verrà quindi analizzato per passare il nome dell'account e quello del contenitore al comando di archiviazione.

az alias create \
    --name 'storage-ls {{ url }}' \
    --command "storage blob list
        --account-name {{ url.replace('https://', '').split('.')[0] }}
        --container-name {{ url.replace('https://', '').split('/')[1] }}"

Per informazioni sul motore di modelli Jinja2, vedere la documentazione di Jinja2.

File di configurazione degli alias

Un altro modo per creare e modificare gli alias consiste nel modificare il relativo file di configurazione. Le definizioni dei comandi alias vengono scritte in un file di configurazione che si trova in $AZURE_CONFIG_DIR/alias. Il valore predefinito di AZURE_CONFIG_DIR è $HOME/.azure in macOS e Linux e %USERPROFILE%\.azure in Windows. Il file di configurazione degli alias è scritto nel formato di file di configurazione INI. Il formato per i comandi alias è il seguente:

[alias_name]
command = invoked_commands

Per gli alias con argomenti posizionali, il formato per i comandi alias è il seguente:

[alias_name {{ arg1 }} {{ arg2 }} ...]
command = invoked_commands_including_args

Creare un comando alias con argomenti tramite il file di configurazione degli alias

L'esempio seguente mostra un alias per un comando con argomenti. Questo comando ottiene l'indirizzo IP pubblico di una macchina virtuale. I comandi con alias devono trovarsi tutti in un'unica riga e usare tutti gli argomenti nel nome alias.

[get-vm-ip {{ resourceGroup }} {{ vmName }}]
command = vm list-ip-addresses --resource-group {{ resourceGroup }} --name {{ vmName }} --query [0].virtualMachine.network.publicIpAddresses[0].ipAddress

Disinstallare l'estensione alias

Per disinstallare l'estensione, usare il comando az extension remove.

az extension remove --name alias

Se la disinstallazione viene eseguita a causa di un bug o di un altro problema dell'estensione, segnalare il problema in GitHub in modo che possa essere fornita una correzione.