Partager via


Comment utiliser l’extension d’alias Azure CLI

L’extension d’alias permet aux utilisateurs de définir des commandes personnalisées pour Azure CLI à l’aide de commandes existantes. Les alias permettent de simplifier votre flux de travail en autorisant les raccourcis. Le moteur de modèle Jinja2 alimente les alias Azure CLI et offre un traitement avancé des arguments.

Remarque

L'extension Alias est en aperçu public. Les fonctionnalités et le format de fichier de configuration peuvent changer.

Installer l’extension d’alias

La version minimale requise d’Azure CLI pour utiliser l’extension d’alias est 2.0.28. Pour vérifier votre version de l’interface CLI, exécutez az --version. Si vous devez mettre à jour votre installation, suivez les instructions d’Installer l’interface de ligne de commande Azure.

Installez l’extension d’alias avec la commande az extension add .

az extension add --name alias

Vérifiez l’installation de l’extension avec az extension list. Si l’extension d’alias s’installe correctement, elle apparaît dans la sortie de la commande.

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

Conserver l’extension d’alias up-to-date

L’extension d’alias est en cours de développement actif et de nouvelles versions sont publiées régulièrement. Toutefois, les nouvelles versions ne sont pas installées lorsque vous mettez à jour l’interface CLI. Installez les mises à jour de l’extension avec az extension update.

az extension update --name alias

Gérer les alias pour Azure CLI

L’extension d’alias vous permet de créer et de gérer des alias pour d’autres commandes CLI. Pour afficher toutes les commandes disponibles et les détails des paramètres, exécutez la commande alias avec --help.

az alias --help

Créer des commandes d’alias simples

L’une des utilisations d’alias consiste à raccourcir les groupes de commandes existants ou les noms de commandes. Par exemple, vous pouvez raccourcir le group groupe de commandes vers rg et la list commande à ls.

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

Vous pouvez maintenant utiliser ces alias nouvellement définis n’importe où leurs définitions s’appliquent.

az rg list
az rg ls
az vm ls

N’incluez az pas dans le cadre de la commande alias.

Les alias peuvent également être des raccourcis pour les commandes complètes. L’exemple suivant répertorie les groupes de ressources disponibles et leurs emplacements dans la sortie de la table :

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

Vous pouvez maintenant ls-groups exécuter comme n’importe quelle autre commande CLI.

az ls-groups

Créer une commande d’alias avec des arguments

Vous pouvez également ajouter des arguments positionnels à une commande d’alias en les incluant comme {{ arg_name }} dans le nom de l’alias. L’espace blanc à l’intérieur des accolades est requis.

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

L’exemple suivant montre comment utiliser des arguments positionnels pour obtenir l’adresse IP publique d’une machine virtuelle.

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"

Lors de l’exécution de cette commande, vous attribuez des valeurs aux arguments positionnels.

az get-vm-ip MyResourceGroup MyVM

Vous pouvez également utiliser des variables d’environnement dans des commandes alias, qui sont évaluées au moment de l’exécution. L’exemple suivant ajoute l’alias create-rg , qui crée un groupe de ressources dans eastus et ajoute une owner balise. Cette balise est affectée à la valeur de la variable USERd’environnement locale.

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

Pour inscrire des variables d’environnement dans la commande alias, vous devez échapper au signe dollar ($).

Traiter des arguments à l’aide de modèles Jinja2

Jinja2 effectue la substitution d’argument dans l’extension d’alias. Les modèles Jinja2 permettent de manipuler les arguments.

Avec les modèles Jinja2, vous pouvez écrire des alias qui prennent différents types d’arguments que la commande sous-jacente. Par exemple, vous pouvez créer un alias qui accepte une URL de stockage. Ensuite, cette URL est analysée pour passer les noms de compte et de conteneur à la commande de stockage.

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

Pour en savoir plus sur le moteur de modèle Jinja2, consultez la documentation Jinja2.

Fichier de configuration d’alias

Une autre façon de créer et de modifier des alias consiste à modifier le fichier de configuration d’alias. Les définitions de commande d’alias sont écrites dans un fichier de configuration, situé à l’emplacement $AZURE_CONFIG_DIR/alias. La valeur AZURE_CONFIG_DIR par défaut est $HOME/.azure sur macOS et Linux, et %USERPROFILE%\.azure sur Windows. Le fichier de configuration d’alias est écrit au format du fichier de configuration INI. Le format des commandes d’alias est le suivant :

[alias_name]
command = invoked_commands

Pour les alias qui ont des arguments positionnels, le format des commandes d’alias est :

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

Créer une commande d’alias avec des arguments via le fichier de configuration d’alias

L’exemple suivant montre un alias pour une commande avec des arguments. Cette commande obtient l’adresse IP publique d’une machine virtuelle. Les commandes alias doivent toutes se trouver sur une seule ligne et utiliser tous les arguments du nom de l’alias.

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

Désinstaller l’extension d’alias

Pour désinstaller l’extension, utilisez la commande az extension remove .

az extension remove --name alias

Si vous avez désinstallé en raison d’un bogue ou d’un autre problème avec l’extension, créez un problème GitHub afin que nous puissions fournir un correctif.