Как использовать расширение псевдонимов Azure CLI

Расширение псевдонимов позволяет пользователям определять команды для Azure CLI с помощью существующих команд. Псевдонимы упрощают рабочий процесс за счет использования ярлыков. Подсистема шаблонов Jinja2 предоставляет псевдонимы Azure CLI и предлагает расширенную обработку аргументов.

Примечание.

Эта функция предоставляется в режиме общедоступной предварительной версии. Функции и формат файла конфигурации могут отличаться.

Установка расширения псевдонимов

Минимальная требуемая версия Azure CLI для использования расширения псевдонимов — 2.0.28. Чтобы проверить используемую версию CLI, выполните az --version. Если вам нужно обновить установку, следуйте инструкциям в статье Установка Azure CLI.

Установите расширение псевдонимов с помощью команды az extension add.

az extension add --name alias

Проверьте установку расширения с помощью команды az extension list. Если расширение псевдонимов установлено правильно, оно отобразится в выходных данных команды.

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

Обновление расширения псевдонимов

Так как расширение псевдонимов сейчас активно разрабатывается, новые версии выходят регулярно. При обновлении CLI новые версии не устанавливаются. Установите обновление расширения с помощью команды az extension update.

az extension update --name alias

Управление псевдонимами для Azure CLI

Расширение псевдонимов позволяет создавать псевдонимы для других команд CLI и управлять ими. Чтобы просмотреть сведения о всех доступных командах и их параметрах, выполните команду alias с параметром --help.

az alias --help

Создание простых псевдонимов команд

Псевдонимы используются для сокращения существующих групп команд или имен команд. Например, можно сократить группу команд group до rg и команду list до ls.

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

Эти заново определенные псевдонимы теперь можно использовать в любом месте согласно их определению.

az rg list
az rg ls
az vm ls

Не включайте az в команду псевдонима.

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

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

Теперь ls-groups можно запускать, как любые другие команды CLI.

az ls-groups

Создание псевдонима команды с аргументами

Вы также можете добавить позиционные аргументы для псевдонима команды, включив их как {{ arg_name }} в имя псевдонима. Пробелы внутри скобок являются обязательными.

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

В следующем примере псевдонима показано, как использовать позиционные аргументы, чтобы получить общедоступный IP-адрес для виртуальной машины.

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"

При выполнении этой команды вы предоставляете значения позиционным аргументам.

az get-vm-ip MyResourceGroup MyVM

В командах-псевдонимах также можно использовать переменные среды, которые вычисляются во время выполнения. В следующем примере добавляется псевдоним create-rg, который создает группу ресурсов в eastus и добавляет тег owner. Для этого тега присваивается значение локальной переменной USER.

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

Чтобы зарегистрировать переменные среды внутри команды псевдонима, знак доллара $ необходимо экранировать.

Обработка аргументов с помощью шаблонов Jinja2

Jinja2 выполняет подстановку аргумента в расширении псевдонима. Шаблоны Jinja2 позволяют манипулировать аргументами.

С помощью шаблонов Jinja2 вы можете создавать псевдонимы, которые принимают другие типы аргументов, отличные от аргументов базовой команды. Например, можно создать псевдоним, который принимает URL-адрес хранилища. Затем этот URL-адрес анализируется для передачи имен учетной записи и контейнера команде хранилища.

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

См. дополнительные сведения о модуле шаблонов Jinja2.

Файл конфигурации псевдонимов

Еще один способ создания и изменения псевдонимов заключается в изменении файла конфигурации псевдонимов. Определения псевдонимов команд записываются в файл конфигурации, расположенный здесь: $AZURE_CONFIG_DIR/alias. По умолчанию для AZURE_CONFIG_DIR устанавливается значение $HOME/.azure в Linux и macOS и %USERPROFILE%\.azure в Windows. Файлы конфигурации псевдонимов записываются в формате INI. Псевдонимы команд имеют такой формат:

[alias_name]
command = invoked_commands

Псевдонимы с позиционными аргументами имеют такой формат:

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

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

В следующем примере показан псевдоним команды с аргументами. Эта команда получает общедоступный IP-адрес виртуальной машины. Команды-псевдонимы должны занимать одну строку и использовать все аргументы в имени псевдонима.

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

Удаление расширения псевдонимов

Удалите расширение с помощью команды az extension remove.

az extension remove --name alias

Если вы удалили расширение из-за ошибки или другой проблемы, отправьте сообщение об этом на сайте GitHub, чтобы мы реализовали исправление.