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 są uruchamiane jako polecenia interfejsu wiersza polecenia. Dzięki rozszerzeniom uzyskujesz dostęp do poleceń eksperymentalnych i będących w wersji wstępnej wraz z możliwością pisania własnych interfejsów CLI. 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ć adres URL indeksu rozszerzenia używany przez interfejs wiersza polecenia platformy Azure, począwszy od wersji 2.20.0. Następnie można zainstalować rozszerzenie według nazwy z prywatnego indeksu rozszerzeń.

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 zwróci błąd nie znaleziono polecenia, jeśli rozszerzenie nie jest zainstalowane.

az config set extension.use_dynamic_install=no

Domyślnie po zainstalowaniu rozszerzenia zostanie uruchomione polecenie z monitem o instalację dynamiczną. 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 aktualizować rozszerzenia

Jeśli rozszerzenie zostało zainstalowane według nazwy, zaktualizuj je przy użyciu 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żna rozpoznać nazwy rozszerzenia za pomocą interfejsu wiersza polecenia, odinstaluj je i spróbuj je 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, interfejs wiersza polecenia wyświetli ostrzeżenie.

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

Jeśli rozszerzenie jest w wersji wstępnej, zostanie wyświetlona jego dokumentacja i wersja. 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 jednego rozszerzenia nie ma wpływu na pozostałe.

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