Compartir a través de


Uso de la extensión de alias de la CLI de Azure

La extensión de alias permite a los usuarios definir comandos personalizados para la CLI de Azure mediante comandos existentes. Los alias ayudan a simplificar el flujo de trabajo al permitir accesos directos. El motor de plantillas jinja2 impulsa los alias de la CLI de Azure y ofrece procesamiento avanzado de argumentos.

Nota:

La Extensión Alias está en versión preliminar pública. Las características y el formato del archivo de configuración pueden cambiar.

Instalación de la extensión de alias

La versión mínima necesaria de la CLI de Azure para usar la extensión de alias es 2.0.28. Para comprobar la versión de la CLI, ejecute az --version. Si necesita actualizar la instalación, siga las instrucciones de Instalación de la CLI de Azure.

Instale la extensión de alias con el comando az extension add .

az extension add --name alias

Compruebe la instalación de la extensión con az extension list. Si la extensión de alias se instala correctamente, aparece en la salida del comando.

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

Mantener la extensión de alias up-to-date

La extensión de alias está en desarrollo activo y las nuevas versiones se publican periódicamente. Sin embargo, las nuevas versiones no se instalan al actualizar la CLI. Instale las actualizaciones de la extensión con az extension update.

az extension update --name alias

Administración de alias para la CLI de Azure

La extensión de alias le permite crear y administrar alias para otros comandos de la CLI. Para ver todos los comandos disponibles y los detalles de los parámetros, ejecute el comando alias con --help.

az alias --help

Creación de comandos de alias simples

Un uso de alias es para acortar los grupos de comandos existentes o los nombres de comandos. Por ejemplo, puede acortar el group grupo de comandos en rg y el list comando en ls.

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

Ahora puede usar estos alias recién definidos en cualquier lugar donde se apliquen sus definiciones.

az rg list
az rg ls
az vm ls

No incluya az como parte del comando alias.

Los alias también pueden ser atajos para comandos completos. En el ejemplo siguiente se enumeran los grupos de recursos disponibles y sus ubicaciones en la salida de la tabla:

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

Ahora ls-groups se puede ejecutar como cualquier otro comando de la CLI.

az ls-groups

Creación de un comando de alias con argumentos

También puede agregar argumentos posicionales a un comando de alias incluyéndolas como {{ arg_name }} en el nombre del alias. Se requiere el espacio en blanco dentro de las llaves.

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

El alias de ejemplo siguiente muestra cómo usar argumentos posicionales para obtener la dirección IP pública de una máquina virtual.

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"

Al ejecutar este comando, se proporcionan valores a los argumentos posicionales.

az get-vm-ip MyResourceGroup MyVM

También puede usar variables de entorno en comandos con alias, que se evalúan en tiempo de ejecución. En el ejemplo siguiente se agrega el create-rg alias , que crea un grupo de recursos en eastus y agrega una owner etiqueta. A esta etiqueta se le asigna el valor de la variable USERde entorno local .

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

Para registrar variables de entorno dentro del comando alias, debe escapar el signo de dólar ($).

Procesamiento de argumentos mediante plantillas de Jinja2

Jinja2 realiza la sustitución de argumentos en la extensión de alias. Las plantillas de Jinja2 permiten manipular los argumentos.

Con las plantillas jinja2, puede escribir alias que toman distintos tipos de argumentos que el comando subyacente. Por ejemplo, puede crear un alias que tome una dirección URL de almacenamiento. A continuación, esta dirección URL se analiza para pasar los nombres de cuenta y contenedor al comando de almacenamiento.

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] }}"

Para obtener información sobre el motor de plantillas jinja2, consulte la documentación de Jinja2.

Archivo de configuración de alias

Otra manera de crear y modificar alias es modificar el archivo de configuración de alias. Las definiciones de comandos de alias se escriben en un archivo de configuración, ubicado en $AZURE_CONFIG_DIR/alias. El valor predeterminado de AZURE_CONFIG_DIR es $HOME/.azure en macOS y Linux y %USERPROFILE%\.azure en Windows. El archivo de configuración de alias se escribe en el formato de archivo de configuración INI. El formato de los comandos de alias es:

[alias_name]
command = invoked_commands

En el caso de los alias que tienen argumentos posicionales, el formato de los comandos de alias es:

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

Creación de un comando de alias con argumentos mediante el archivo de configuración de alias

En el ejemplo siguiente se muestra un alias para un comando con argumentos. Este comando obtiene la dirección IP pública de una máquina virtual. Todos los comandos con alias deben estar en una sola línea y usar todos los argumentos en el nombre del alias.

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

Desinstalación de la extensión de alias

Para desinstalar la extensión, use el comando az extension remove .

az extension remove --name alias

Si desinstaló debido a un error u otro problema con la extensión, abra un problema de GitHub para que podamos proporcionar una corrección.