Utilisez des extensions avec Azure CLIUse extensions with Azure CLI

L’interface de ligne de commande Azure offre la possibilité de charger des extensions.The Azure CLI offers the capability to load extensions. Les extensions sont des roues Python qui ne sont pas fournies comme partie de la CLI mais qui sont exécutées en tant que commandes CLI.Extensions are Python wheels that aren't shipped as part of the CLI but run as CLI commands. Avec les extensions, vous obtenez l’accès aux commandes expérimentales et préliminaires, ainsi que la capacité d’écrire vos propres interfaces CLI.With extensions, you gain access to experimental and pre-release commands along with the ability to write your own CLI interfaces. Cet article explique comment gérer les extensions et répond aux questions courantes concernant leur utilisation.This article covers how to manage extensions and answers common questions about their use.

Rechercher des extensionsFind extensions

Pour voir les extensions fournies et gérées par Microsoft, utiliser la commande az extension list-available.To see the extensions provided and maintained by Microsoft, use the az extension list-available command.

az extension list-available --output table

Nous hébergeons également une liste des extensions sur le site de la documentation.We also host a list of extensions on the documentation site.

Installer les extensionsInstall extensions

Une fois que vous avez trouvé une extension à installer, utilisez la commande az extension add pour l’obtenir.Once you have found an extension to install, use az extension add to get it. Si l’extension est répertoriée dans az extension list-available, vous pouvez installer l’extension par nom.If the extension is listed in az extension list-available, you can install the extension by name.

az extension add --name <extension-name>

Si l’extension provient d’une ressource externe ou si vous disposez d’un lien direct vers celle-ci, fournissez le chemin d’accès local ou l’URL source.If the extension is from an external resource or you have a direct link to it, provide the source URL or local path. L’extension doit être un fichier de roue Python compilé.The extension must be a compiled Python wheel file.

az extension add --source <URL-or-path>

Une fois qu’une extension est installée, elle se trouve sous la valeur de la variable d’interpréteur de commandes $AZURE_EXTENSION_DIR.Once an extension is installed, it's found under the value of the $AZURE_EXTENSION_DIR shell variable. Si cette variable n’est pas définie, par défaut la valeur est $HOME/.azure/cliextensions sur Linux et macOS, et %USERPROFILE%\.azure\cliextensions sur Windows.If this variable is unset, by default the value is $HOME/.azure/cliextensions on Linux and macOS, and %USERPROFILE%\.azure\cliextensions on Windows.

Mettre à jour les extensionsUpdate extensions

Si une extension a été installée par nom, mettez-la à jour à l’aide de la commande az extension update.If an extension was installed by name, update it using az extension update.

az extension update --name <extension-name>

Sinon, il est possible de mettre à jour une extension à partir de la source, en suivant les instructions de la section Installer les extensions.Otherwise, an extension can be updated from source by following the Install extensions instructions.

Si un nom d’extension ne peut pas être résolu par l’interface CLI, désinstallez cette extension et tentez de procéder à une réinstallation.If an extension name can't be resolved by the CLI, uninstall it and attempt to reinstall. L’extension aurait également pu faire partie de l’interface CLI de base.The extension could also have become part of the base CLI. Essayez de mettre à jour l’interface de ligne de commande en suivant les instructions de la section Installer Azure CLI et vérifiez que les commandes de l’extension ont été ajoutées.Try updating the CLI as described in Install the Azure CLI and see if the extension's commands were added.

Désinstaller les extensionsUninstall extensions

Si vous n’avez plus besoin d’une extension, vous pouvez la supprimer avec la commande az extension remove.If you no longer need an extension, remove it with az extension remove.

az extension remove --name <extension-name>

Vous pouvez également supprimer une extension manuellement en la supprimant de l’emplacement où elle a été installée.You can also remove an extension manually by deleting it from the location where it was installed. La variable d’interpréteur de commandes $AZURE_EXTENSION_DIR définit l’emplacement dans lequel sont installés les modules.The $AZURE_EXTENSION_DIR shell variable defines where modules are installed. Si cette variable n’est pas définie, par défaut la valeur est $HOME/.azure/cliextensions sur Linux et macOS, et %USERPROFILE%\.azure\cliextensions sur Windows.If this variable is unset, by default the value is $HOME/.azure/cliextensions on Linux and macOS, and %USERPROFILE%\.azure\cliextensions on Windows.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Forum Aux QuestionsFAQ

Voici les réponses à d’autres questions courantes sur les extensions de CLI.Here are some answers to other common questions about CLI extensions.

Quels sont les formats de fichiers autorisés pour l’installation ?What file formats are allowed for installation?

Actuellement, seuls les fichiers Wheel Python compilés peuvent être installés en tant qu’extensions.Currently, only compiled Python wheels can be installed as extensions.

Les extensions peuvent-elles remplacer des commandes existantes ?Can extensions replace existing commands?

Oui.Yes. Les extensions peuvent remplacer des commandes existantes, mais avant l’exécution d’une commande qui a été remplacée, la CLI émet un avertissement.Extensions may replace existing commands, but before running a command that has been replaced the CLI will issue a warning.

Comment puis-je savoir si une extension est en version préliminaire ?How can I tell if an extension is in pre-release?

Une documentation et un contrôle de version d’une extension s’afficheront si celle-ci est en version préliminaire.An extension's documentation and versioning will show if it's in pre-release. Microsoft publie souvent des préversions de commandes sous forme d’extensions CLI, avec la possibilité de les déplacer ultérieurement dans le produit principal de la CLI.Microsoft often releases preview commands as CLI extensions, with the option of moving them into the main CLI product later. Lorsque les commandes sont déplacées en dehors des extensions, vous devez désinstaller l’ancienne extension.When commands are moved out of extensions, the old extension should be uninstalled.

Les extensions peuvent-elles dépendre les unes des autres ?Can extensions depend upon each other?

Non.No. Étant donné que l’interface CLI ne garantit pas un ordre de chargement, les dépendances peuvent ne pas être satisfaites.Since the CLI doesn't guarantee a load order, dependencies might not be satisfied. La suppression d’une extension n’affecte pas les autres.Removing an extension won't affect any others.

Les extensions sont-elles mises à jour en même temps que la CLI ?Are extensions updated along with the CLI?

Non.No. Les extensions sont à mettre à jour séparément, comme décrit dans la section Mettre à jour les extensions.Extensions must be updated separately, as described in Update extensions.