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.