Udostępnij za pośrednictwem


Jak używać rozszerzenia aliasu interfejsu wiersza polecenia platformy Azure

Rozszerzenie aliasu umożliwia użytkownikom definiowanie poleceń niestandardowych na potrzeby interfejsu wiersza polecenia platformy Azure przy użyciu istniejących poleceń. Dzięki zastosowaniu skrótów aliasy ułatwiają zachowanie prostoty przepływu pracy. Aparat szablonów Jinja2 obsługuje aliasy interfejsu wiersza polecenia platformy Azure i oferuje zaawansowane przetwarzanie argumentów.

Uwaga

Rozszerzenie aliasu jest w wersji zapoznawczej. Funkcje i format pliku konfiguracyjnego mogą ulec zmianie.

Instalowanie rozszerzenia aliasu

Minimalna wymagana wersja interfejsu wiersza polecenia platformy Azure do używania rozszerzenia aliasu to 2.0.28. Aby sprawdzić wersję interfejsu wiersza polecenia, uruchom polecenie az --version. Jeśli konieczne jest zaktualizowanie instalacji, postępuj zgodnie z instrukcjami w artykule Instalowanie interfejsu wiersza polecenia platformy Azure.

Zainstaluj rozszerzenie aliasu za pomocą polecenia az extension add .

az extension add --name alias

Zweryfikuj instalację rozszerzenia za pomocą polecenia az extension list. Jeśli rozszerzenie aliasu zostało poprawnie zainstalowane, będzie znajdować się w danych wyjściowych polecenia.

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

Aktualizowanie rozszerzenia aliasu

Rozszerzenie aliasu jest w trakcie aktywnej fazy tworzenia i regularnie wydawane są nowe wersje. Nowe wersje nie są instalowane podczas aktualizacji interfejsu wiersza polecenia. Aktualizacje dla rozszerzenia należy instalować za pomocą polecenia az extension update.

az extension update --name alias

Zarządzanie aliasami na potrzeby interfejsu wiersza polecenia platformy Azure

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

az alias --help

Tworzenie prostych poleceń aliasu

Jednym z zastosowań aliasów jest skracanie istniejących grup poleceń lub nazw poleceń. Na przykład możesz skrócić polecenie group do rg i polecenie list do ls.

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

Te nowo zdefiniowane aliasy mogą być następnie używane w dowolnym miejscu, w którym będzie znajdować się ich definicja.

az rg list
az rg ls
az vm ls

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

Aliasy mogą być także skrótami całych poleceń. W kolejnym przykładzie znajduje się lista dostępnych grup zasobów i ich lokalizacji w danych wyjściowych tabeli:

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

Teraz polecenie ls-groups może zostać uruchomione podobnie jak dowolne inne polecenie interfejsu wiersza polecenia.

az ls-groups

Tworzenie polecenia aliasu z argumentami

Do polecenia aliasu można również dodawać argumenty pozycyjne, umieszczając je jako element {{ arg_name }} w nazwie aliasu. Odstęp 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 przedstawiono sposób użycia argumentów pozycyjnych w celu pobrania publicznego adresu IP dla maszyny wirtualnej.

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 należy podać wartości argumentów pozycyjnych.

az get-vm-ip MyResourceGroup MyVM

Możesz również używać zmiennych środowiskowych w poleceniach wywołanych za pomocą aliasów, które są oceniane w czasie wykonywania. W następnym przykładzie dodano alias create-rg, który tworzy grupę zasobów w regionie eastus i dodaje tag owner. Do tego tagu jest przypisywana 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 w poleceniu aliasu, należy użyć znaku dolara $ jako znaku ucieczki.

Przetwarzanie argumentów za pomocą szablonów Jinja2

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

Za pomocą szablonów Jinja2 możesz tworzyć aliasy przyjmujące inne typy argumentów niż bazowe polecenie. Na przykład możesz utworzyć alias, który przyjmuje adres URL magazynu. Następnie ten adres URL jest analizowany w celu przekazania nazwy konta i kontenera do polecenia magazynu.

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 uzyskać więcej informacji na temat aparatu szablonów Jinja2, zobacz dokumentację aparatu Jinja2.

Plik konfiguracji aliasu

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

[alias_name]
command = invoked_commands

W przypadku aliasów, które mają argumenty pozycyjne, format poleceń aliasu jest następujący:

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

Tworzenie polecenia aliasu z argumentami za pomocą pliku konfiguracji aliasu

W kolejnym przykładzie pokazano alias dla polecenia z argumentami. To polecenie pobiera publiczny adres IP dla maszyny wirtualnej. Wszystkie polecenia wywołane za pomocą aliasów muszą znajdować się w jednym wierszu, a wszystkie argumenty muszą być użyte 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

Jeśli odinstalowanie zostało spowodowane usterką lub innym problemem z rozszerzeniem, zarejestruj problem w usłudze GitHub, aby możliwe było udostępnienie poprawki.