Поделиться через


Использование расширений и управление ими с помощью Azure CLI

В Azure CLI можно загружать расширения. Расширения для Azure CLI описываются как пакеты Python, которые не являются частью CLI, но выполняются в качестве команд CLI. С помощью расширений вы получаете доступ к экспериментальным и предварительным опциям, а также возможность создавать собственные интерфейсы командной строки. В этой статье описано, как управлять расширениями, и описаны распространенные сценарии их использования.

Как найти расширения

Чтобы просмотреть расширения Azure CLI, предоставляемые и поддерживаемые корпорацией Майкрософт, используйте команду az extension list-available .

az extension list-available --output table

Мы также размещаем список расширений на сайте документации.

Установка расширений

Установка расширений вручную

После того как вы нашли расширение для установки, используйте az extension add , чтобы получить его. Если расширение указано в az extension list-availableсписке, можно установить расширение по имени.

az extension add --name <extension-name>

Если требуется расширение из внешнего ресурса или у вас есть прямая ссылка на него, можно указать URL-адрес источника или локальный путь. Расширение должно быть скомпилированным файлом колесика Python.

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

Вы также можете создать индекс частного расширения, следуя формату в index.json, а затем с версии 2.20.0 задать URL-адрес индекса расширения, используемый Azure CLI. После этого расширение можно установить по названию из частного каталога расширений.

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

После установки расширения оно будет находиться под значением переменной оболочки $AZURE_EXTENSION_DIR. Если эта переменная не задана, в Linux и macOS по умолчанию устанавливается значение $HOME/.azure/cliextensions, а в Windows — %USERPROFILE%\.azure\cliextensions.

Автоматическая установка расширений

При выполнении команды расширения, которая не установлена, Azure CLI может распознать выполняемую команду и автоматически установить расширение, начиная с версии 2.10.0. Эта функция, называемая динамической установкой, включена по умолчанию.2.12.0 Вы также можете включить его с помощью конфигурации для предыдущих поддерживаемых версий.

az config set extension.use_dynamic_install=yes_prompt

Используйте следующую команду конфигурации, чтобы включить динамическую установку без запроса.

az config set extension.use_dynamic_install=yes_without_prompt

Используйте следующую команду конфигурации, чтобы отключить функцию динамической установки, чтобы вернуться к поведению по умолчанию. Команда расширения выдаёт ошибку типа 'команда не найдена', если расширение не установлено.

az config set extension.use_dynamic_install=no

По умолчанию команда расширения, которая запрашивает динамическую установку, продолжит выполняться после установки расширения. Вы можете изменить поведение по умолчанию и завершить команду без повторного запуска, задав run_after_dynamic_install для свойства значение no.

az config set extension.run_after_dynamic_install=no

Обновление расширений

При установке расширения по имени обновите его с помощью az extension update.

az extension update --name <extension-name>

В противном случае расширение можно обновить из источника, следуя инструкциям по установке расширений .

Если вы не можете использовать CLI для разрешения имени расширения, удалите его и попытайтесь переустановить. Расширение также может стать частью базового интерфейса командной строки. Попробуйте обновить интерфейс командной строки, как описано в статье "Установка Azure CLI " и просмотрите, были ли добавлены команды расширения.

Удаление расширений

Если вам больше не нужно расширение, удалите его командой az extension remove.

az extension remove --name <extension-name>

Вы также можете удалить расширение вручную, удалив его из расположения, где он был установлен. Переменная $AZURE_EXTENSION_DIR оболочки определяет, где установлены модули. Если эта переменная не задана, в Linux и macOS по умолчанию устанавливается значение $HOME/.azure/cliextensions, а в Windows — %USERPROFILE%\.azure\cliextensions.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Вопросы и ответы

Ниже приведены некоторые ответы на другие распространенные вопросы о расширениях CLI.

Какие форматы файлов разрешены для установки?

В настоящее время в качестве расширений можно установить только скомпилированные колеса Python.

Могут ли расширения заменить существующие команды?

Да. Расширения могут заменить существующие команды, но перед выполнением команды, которая была заменена интерфейсом командной строки, выдает предупреждение.

Как узнать, находится ли расширение в предварительном выпуске?

Документация по расширению и управление версиями показывает, находится ли он в предварительной версии. Корпорация Майкрософт часто выпускает предварительные версии команд в качестве расширений CLI с возможностью их перемещения в основной продукт CLI позже. При перемещении команд из расширений старое расширение должно быть удалено.

Могут ли расширения зависеть друг от друга?

Нет. Так как интерфейс командной строки не гарантирует порядок загрузки, зависимости могут быть не удовлетворены. Удаление расширения не влияет ни на кого другого.

Обновляются ли расширения вместе с интерфейсом командной строки?

Нет. Расширения должны обновляться отдельно, как описано в Обновить расширения.

Как разработать собственное расширение?

Дополнительные сведения см. в официальном репозитории. Расширения Azure/azure-cli-extensions