Partager via


Gérer les extensions Azure CLI : installer, mettre à jour et supprimer

L’interface de ligne de commande Azure offre la possibilité de charger des extensions. Les extensions pour Azure CLI sont des roues (wheels) Python qui ne sont pas incluses dans l'Azure CLI, mais qui s'exécutent en tant que commandes CLI. 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. Cet article explique comment gérer les extensions et répond aux questions courantes concernant leur utilisation.

Comment rechercher des extensions

Pour voir les extensions Azure CLI fournies et gérées par Microsoft, utilisez la commande az extension list-available.

az extension list-available --output table

Nous hébergeons également une liste des extensions sur le site de la documentation.

Comment installer des extensions

Installer les extensions manuellement

Après avoir trouvé une extension à installer, utilisez az extension add pour l’installer. Si l’extension apparaît dans la sortie de az extension list-available, vous pouvez l’installer par nom.

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. L’extension doit être un fichier de roue Python compilé.

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

Vous pouvez également créer un index d’extension privée en suivant le format dans index.json, puis l’affecter à l’URL de l’index d’extension utilisée par Azure CLI à partir de la version 2.20.0. Vous pouvez ensuite installer l’extension par nom à partir de l’index d’extension privée.

az config set extension.index_url=<URL>
az extension add --name <extension-name>

Après avoir installé une extension, elle apparaît sous la valeur de la $AZURE_EXTENSION_DIR variable shell. Si cette variable n’est pas définie, l’emplacement par défaut se trouve $HOME/.azure/cliextensions sur Linux et macOS et %USERPROFILE%\.azure\cliextensions sur Windows.

Installer les extensions automatiquement

Lorsque vous exécutez une commande d’extension qui n’est pas installée, l’interface Azure CLI peut reconnaître la commande que vous exécutez et installer automatiquement l’extension pour vous à partir de la version 2.10.0. Cette fonctionnalité, appelée installation dynamique, est activée par défaut à partir de la version 2.12.0. Vous pouvez également l’activer par le biais de la configuration pour les versions prises en charge précédentes.

az config set extension.use_dynamic_install=yes_prompt

Utilisez la commande de configuration suivante pour activer l’installation dynamique sans invite.

az config set extension.use_dynamic_install=yes_without_prompt

Utilisez la commande de configuration suivante pour désactiver la fonctionnalité d’installation dynamique afin de rétablir le comportement par défaut. La commande d’extension retourne une erreur de commande non trouvée si l’extension n’est pas installée.

az config set extension.use_dynamic_install=no

Par défaut, une commande d’extension qui invite une installation dynamique continue à s’exécuter une fois l’extension installée. Vous pouvez changer le comportement par défaut pour quitter la commande sans réexécution en affectant à la propriété run_after_dynamic_install la valeur no.

az config set extension.run_after_dynamic_install=no

Comment mettre à jour les extensions

Si vous installez une extension par son nom, mettez-la à jour à l’aide de la commande 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.

Si vous ne pouvez pas utiliser l’interface CLI pour résoudre un nom d’extension, désinstallez l’extension et essayez de la réinstaller. L’extension peut également faire partie de l’interface CLI de base. Mettez à jour l’interface CLI comme décrit dans Installer Azure CLI et vérifiez si les commandes de l’extension sont disponibles.

Comment désinstaller les extensions

Si vous n’avez plus besoin d’une extension, vous pouvez la supprimer avec la commande 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. La variable d’interpréteur de commandes $AZURE_EXTENSION_DIR définit l’emplacement dans lequel sont installés les modules. 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.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Questions fréquentes (FAQ)

Voici les réponses à d’autres questions courantes sur les extensions de CLI.

Quels sont les formats de fichiers autorisés pour l’installation ?

Actuellement, seules les roues Python compilées peuvent être installées comme extensions.

Les extensions peuvent-elles remplacer des commandes existantes ?

Oui. Les extensions peuvent remplacer les commandes existantes, mais l’interface CLI émet un avertissement avant d’exécuter une commande remplacée.

Comment puis-je savoir si une extension est en version préliminaire ?

La documentation et le contrôle de version d’une extension indiquent si elle figure dans la préversion. 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. Lorsque les commandes sont déplacées en dehors des extensions, vous devez désinstaller l’ancienne extension.

Les extensions peuvent-elles dépendre les unes des autres ?

Non. Étant donné que l’interface CLI ne garantit pas un ordre de chargement, les dépendances peuvent ne pas être satisfaites. La suppression d’une extension n’affecte pas les autres.

Les extensions sont-elles mises à jour en même temps que la CLI ?

Non. Les extensions sont à mettre à jour séparément, comme décrit dans la section Mettre à jour les extensions.

Comment développer votre propre extension ?

Pour obtenir de l’aide, reportez-vous au dépôt officiel. Azure/azure-cli-extensions