Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure

Interfejs wiersza polecenia platformy Azure umożliwia ładowanie rozszerzeń. Rozszerzenia interfejsu wiersza polecenia platformy Azure charakteryzują się kołami języka Python, które nie są dostarczane jako część interfejsu wiersza polecenia, ale działają jako polecenia interfejsu wiersza polecenia. Za pomocą rozszerzeń uzyskujesz dostęp do poleceń eksperymentalnych i wstępnych wraz z możliwością pisania własnych interfejsów interfejsu wiersza polecenia. W tym artykule opisano sposób zarządzania rozszerzeniami oraz udzielono odpowiedzi na często zadawane pytania dotyczące ich użycia.

Jak znaleźć rozszerzenia

Aby wyświetlić rozszerzenia interfejsu wiersza polecenia platformy Azure udostępniane i obsługiwane przez firmę Microsoft, użyj polecenia az extension list-available .

az extension list-available --output table

Lista rozszerzeń znajduje się również w witrynie z dokumentacją.

Jak zainstalować rozszerzenia

Ręczne instalowanie rozszerzeń

Po znalezieniu rozszerzenia do zainstalowania użyj polecenia az extension add, aby je pobrać. Jeśli rozszerzenie jest wymienione na liście az extension list-available, możesz zainstalować je według nazwy.

az extension add --name <extension-name>

Jeśli rozszerzenie pochodzi z zewnętrznego zasobu lub masz bezpośredni link do niego, podaj źródłowy adres URL lub ścieżkę lokalną. Rozszerzenie musi być skompilowanym plikiem wheel języka Python.

az extension add --source <URL-or-path>

Możesz również utworzyć indeks rozszerzenia prywatnego w formacie index.json, a następnie ustawić dla niego adres URL indeksu rozszerzenia używany przez interfejs wiersza polecenia platformy Azure, zaczynając od wersji 2.20.0. Następnie można zainstalować rozszerzenie według nazwy z indeksu rozszerzenia prywatnego.

az config set extension.index_url=<URL>
az extension add --name <extension-name>

Po zainstalowaniu rozszerzenia znajduje się ono w wartości zmiennej powłoki $AZURE_EXTENSION_DIR. Jeśli nie ustawiono tej zmiennej, domyślnie wartością jest $HOME/.azure/cliextensions w systemie Linux i macOS i %USERPROFILE%\.azure\cliextensions w systemie Windows.

Automatyczne instalowanie rozszerzeń

Po uruchomieniu polecenia rozszerzenia, które nie jest zainstalowane, interfejs wiersza polecenia platformy Azure może rozpoznać uruchamiane polecenie i automatycznie zainstalować rozszerzenie, począwszy od wersji 2.10.0. Ta funkcja, nazywana instalacją dynamiczną, jest domyślnie włączona od .2.12.0 Można ją również włączyć za pomocą konfiguracji dla poprzednich obsługiwanych wersji.

az config set extension.use_dynamic_install=yes_prompt

Użyj następującego polecenia konfiguracji, aby włączyć instalację dynamiczną bez monitu.

az config set extension.use_dynamic_install=yes_without_prompt

Użyj następującego polecenia konfiguracji, aby wyłączyć funkcję instalacji dynamicznej, aby przywrócić domyślne zachowanie. Polecenie rozszerzenia zwraca błąd "nie znaleziono polecenia", jeśli rozszerzenie nie jest zainstalowane.

az config set extension.use_dynamic_install=no

Domyślnie polecenie rozszerzenia z monitem o instalację dynamiczną będzie nadal działać po zainstalowaniu rozszerzenia. Możesz zmienić domyślne zachowanie i zakończyć działanie polecenia bez ponownego run_after_dynamic_install uruchomienia, ustawiając właściwość na no.

az config set extension.run_after_dynamic_install=no

Jak zaktualizować rozszerzenia

Jeśli zainstalujesz rozszerzenie według nazwy, zaktualizuj je za pomocą polecenia az extension update.

az extension update --name <extension-name>

W przeciwnym razie rozszerzenie może zostać zaktualizowane za pomocą źródła, postępując zgodnie z instrukcjami w artykule Instalowanie rozszerzeń.

Jeśli nie możesz użyć interfejsu wiersza polecenia do rozpoznania nazwy rozszerzenia, odinstaluj je i spróbuj ponownie zainstalować. Rozszerzenie może także stać się częścią podstawowego interfejsu wiersza polecenia. Spróbuj zaktualizować interfejs wiersza polecenia zgodnie z opisem w artykule Instalowanie interfejsu wiersza polecenia platformy Azure i sprawdź, czy dodano polecenia rozszerzenia.

Jak odinstalować rozszerzenia

Jeśli rozszerzenie nie jest już potrzebne, usuń je za pomocą polecenia az extension remove.

az extension remove --name <extension-name>

Rozszerzenie można również usunąć ręcznie, usuwając je z lokalizacji, w którym zostało zainstalowane. Zmienna powłoki $AZURE_EXTENSION_DIR określa miejsce instalowania modułów. Jeśli nie ustawiono tej zmiennej, domyślnie wartością jest $HOME/.azure/cliextensions w systemie Linux i macOS i %USERPROFILE%\.azure\cliextensions w systemie Windows.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Często zadawane pytania

Poniżej przedstawiono odpowiedzi na inne typowe pytania dotyczące rozszerzeń interfejsu wiersza polecenia.

Jakie formaty plików są dozwolone w przypadku instalacji?

Obecnie tylko pakiety wheel języka Python mogą być instalowane jako rozszerzenia.

Czy rozszerzenia mogą zastępować istniejące polecenia?

Tak. Rozszerzenia mogą zastąpić istniejące polecenia, ale przed uruchomieniem polecenia, które zostało zastąpione interfejsem wiersza polecenia, powoduje ostrzeżenie.

Jak sprawdzić, czy rozszerzenie jest w wersji wstępnej?

Dokumentacja i przechowywanie wersji rozszerzenia pokazuje, czy jest w wersji wstępnej. Firma Microsoft często publikuje polecenia w wersji zapoznawczej jako rozszerzenia interfejsu wiersza polecenia z opcją przeniesienia ich do głównego produktu interfejsu wiersza polecenia w późniejszym czasie. Po przeniesieniu polecenia z rozszerzeń należy odinstalować starą wersję.

Czy rozszerzenia mogą zależeć od siebie?

Nie. Ponieważ interfejs wiersza polecenia nie gwarantuje kolejności ładowania, może nie spełniać zależności. Usunięcie rozszerzenia nie ma wpływu na inne.

Czy rozszerzenia są aktualizowane razem z interfejsem wiersza polecenia?

Nie. Rozszerzenia muszą być aktualizowane oddzielnie, zgodnie z opisem w sekcji Aktualizowanie rozszerzeń.

Jak opracować własne rozszerzenie?

Aby uzyskać więcej pomocy, zapoznaj się z oficjalnym repozytorium. Azure/azure-cli-extensions