Udostępnij przez


Jak używać rozszerzenia aliasów Azure CLI

Rozszerzenie aliasu umożliwia użytkownikom definiowanie poleceń niestandardowych dla interfejsu wiersza polecenia platformy Azure przy użyciu istniejących poleceń. Aliasy pomagają uprościć przepływ pracy, umożliwiając stosowanie skrótów. Silnik szablonów Jinja2 napędza aliasy Azure CLI i oferuje zaawansowane przetwarzanie argumentów.

Uwaga / Notatka

Rozszerzenie aliasu jest dostępne w publicznej wersji zapoznawczej. Format funkcji i pliku konfiguracji może ulec zmianie.

Instalowanie rozszerzenia aliasu

Minimalna wymagana wersja interfejsu wiersza polecenia platformy Azure do korzystania z rozszerzenia aliasu to 2.0.28. Aby sprawdzić wersję CLI, uruchom az --version. Jeśli musisz zaktualizować instalację, postępuj zgodnie z instrukcjami w temacie Instalowanie interfejsu wiersza polecenia platformy Azure.

Zainstaluj rozszerzenie aliasu za pomocą polecenia az extension add .

az extension add --name alias

Za pomocą az extension list zweryfikuj instalację rozszerzenia. Jeśli rozszerzenie aliasu zostanie poprawnie zainstalowane, zostanie wyświetlone w danych wyjściowych polecenia.

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

Zachowaj rozszerzenie aliasu up-to-date

Rozszerzenie aliasu jest w aktywnym rozwoju, a nowe wersje są wydawane regularnie. Jednak nowe wersje nie są instalowane podczas aktualizowania interfejsu wiersza polecenia. Zainstaluj aktualizacje dla rozszerzenia za pomocą az extension update.

az extension update --name alias

Zarządzanie aliasami dla interfejsu wiersza polecenia platformy Azure

Rozszerzenie aliasu umożliwia tworzenie i zarządzanie aliasami dla innych poleceń interfejsu CLI. Aby wyświetlić wszystkie dostępne polecenia i szczegóły parametrów, uruchom polecenie 'alias' za pomocą --help.

az alias --help

Tworzenie prostych poleceń aliasu

Jednym z zastosowań aliasów jest skrócenie istniejących grup poleceń lub nazw poleceń. Można na przykład skrócić grupę poleceń group do rg i polecenie list do ls.

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

Teraz możesz używać tych nowo zdefiniowanych aliasów w dowolnym miejscu, w którym mają zastosowanie ich definicje.

az rg list
az rg ls
az vm ls

Nie dołączaj az jako części polecenia aliasu.

Aliasy mogą również służyć jako skróty dla całych poleceń. W następnym przykładzie wymieniono dostępne grupy zasobów i ich lokalizacje w danych wyjściowych tabeli:

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

Teraz ls-groups można uruchomić jak każde inne polecenie interfejsu wiersza polecenia.

az ls-groups

Tworzenie polecenia aliasu z argumentami

Argumenty pozycyjne można również dodać do polecenia aliasu, dołączając je jako {{ arg_name }} w nazwie aliasu. Biały znak wewnątrz nawiasów klamrowych jest wymagany.

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

W następnym przykładowym aliasie pokazano, jak uzyskać publiczny adres IP maszyny wirtualnej przy użyciu argumentów pozycyjnych.

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"

Podczas uruchamiania tego polecenia podajesz wartości argumentom pozycyjnym.

az get-vm-ip MyResourceGroup MyVM

Można również użyć zmiennych środowiskowych w aliasowanych poleceniach, które są oceniane w czasie wykonywania. W następnym przykładzie dodano alias create-rg, który tworzy grupę zasobów w eastus i dodaje tag owner. Ten tag ma przypisaną wartość lokalnej zmiennej środowiskowej USER.

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

Aby zarejestrować zmienne środowiskowe wewnątrz polecenia aliasu, należy uruchomić znak dolara ($).

Przetwarzanie argumentów przy użyciu szablonów Jinja2

Jinja2 wykonuje zamianę argumentów w rozszerzeniu aliasu. Szablony Jinja2 umożliwiają manipulowanie argumentami.

Za pomocą szablonów Jinja2 można pisać aliasy, które przyjmują różne typy argumentów niż bazowe polecenie. Możesz na przykład utworzyć alias, który przyjmuje adres URL magazynu. Następnie ten adres URL jest przetwarzany, aby przekazać nazwy kont i kontenerów do polecenia związanego z magazynem.

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

Aby dowiedzieć się więcej na temat silnika szablonów Jinja2, zobacz dokumentację Jinja2.

Plik konfiguracji aliasu

Innym sposobem tworzenia i modyfikowania aliasów jest zmiana pliku konfiguracji aliasu. Definicje poleceń typu alias są zapisywane w pliku konfiguracyjnym znajdującym się w lokalizacji $AZURE_CONFIG_DIR/alias. Wartość domyślna AZURE_CONFIG_DIR to $HOME/.azure w systemach macOS i Linux oraz %USERPROFILE%\.azure w systemie Windows. Plik konfiguracji aliasu jest zapisywany w formacie pliku konfiguracji INI. Format poleceń aliasu to:

[alias_name]
command = invoked_commands

W przypadku aliasów, które mają argumenty pozycyjne, format poleceń aliasu to:

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

Tworzenie polecenia aliasu z argumentami za pośrednictwem pliku konfiguracji aliasu

W następnym przykładzie przedstawiono alias polecenia z argumentami. To polecenie pobiera publiczny adres IP maszyny wirtualnej. Aliasowane polecenia muszą znajdować się w jednym wierszu i używać wszystkich argumentów w nazwie aliasu.

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

Odinstalowywanie rozszerzenia aliasu

Aby odinstalować rozszerzenie, użyj polecenia az extension remove .

az extension remove --name alias

W przypadku odinstalowania z powodu błędu lub innego problemu z rozszerzeniem zgłoś problem z usługą GitHub, abyśmy mogli podać poprawkę.