Как использовать расширение псевдонимов 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, чтобы мы реализовали исправление.