Verwenden und Verwalten von Erweiterungen mit der Azure CLI

Die Azure CLI umfasst eine Funktion zum Laden von Erweiterungen. Bei Erweiterungen für die Azure CLI handelt es sich um Python-Wheels, die nicht zusammen mit der CLI bereitgestellt, aber als CLI-Befehle ausgeführt werden. Mit Erweiterungen erhalten Sie Zugriff auf experimentelle Befehle und Vorabversionen von Befehlen und können eigene CLIs schreiben. Dieser Artikel behandelt die Verwaltung von Erweiterungen und enthält Antworten auf allgemeine Fragen zu ihrer Verwendung.

Suchen nach Erweiterungen

Verwenden Sie den Befehl az extension list-available, um die von Microsoft bereitgestellten und verwalteten Azure CLI-Erweiterungen anzuzeigen.

az extension list-available --output table

Auf der Dokumentationswebsite wird darüber hinaus eine Liste der Erweiterungen bereitgestellt.

Installieren von Erweiterungen

Manuelles Installieren von Erweiterungen

Nachdem Sie eine zu installierende Erweiterung gefunden haben, können Sie az extension add verwenden, um sie abzurufen. Wenn die Erweiterung in az extension list-available aufgeführt wird, können Sie die Erweiterung anhand des Namens installieren.

az extension add --name <extension-name>

Wenn die Erweiterung von einer externen Ressource stammt oder Sie über einen direkten Link dafür verfügen, geben Sie die Quell-URL oder den lokalen Pfad an. Die Erweiterung muss eine kompilierte Python-Wheeldatei sein.

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

Sie können auch einen privaten Erweiterungsindex basierend auf dem Format von index.json erstellen und dann die von der Azure CLI verwendete URL für den Erweiterungsindex entsprechend angeben (ab Version 2.20.0). Anschließend können Sie die Erweiterung anhand des Namens aus dem privaten Erweiterungsindex installieren.

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

Nach der Installation einer Erweiterung befindet sich diese unter dem Wert der Shellvariablen $AZURE_EXTENSION_DIR. Wenn diese Variable nicht festgelegt ist, befindet sich der Wert standardmäßig unter $HOME/.azure/cliextensions (Linux und macOS) bzw. %USERPROFILE%\.azure\cliextensions (Windows).

Automatisches Installieren von Erweiterungen

Wenn Sie einen nicht installierten Erweiterungsbefehl ausführen, kann die Azure CLI ab der Version 2.10.0 den auszuführenden Befehl erkennen und die Erweiterung automatisch für Sie installieren. Dieses Feature wird als dynamische Installation bezeichnet und ist ab Version 2.12.0 standardmäßig aktiviert. Für frühere unterstützte Versionen können Sie es auch über die Konfiguration aktivieren.

az config set extension.use_dynamic_install=yes_prompt

Verwenden Sie den folgenden Konfigurationsbefehl, um die dynamische Installation ohne Aufforderung zu aktivieren:

az config set extension.use_dynamic_install=yes_without_prompt

Verwenden Sie den folgenden Konfigurationsbefehl, um die dynamische Installation zu deaktivieren und zum Standardverhalten zurückzukehren: Ist die Erweiterung nicht installiert, wird vom Erweiterungsbefehl ein Fehler aufgrund eines nicht gefundenen Befehls zurückgegeben.

az config set extension.use_dynamic_install=no

Standardmäßig wird nach Abschluss der Installation ein Erweiterungsbefehl, mit dem eine Aufforderung zur dynamischen Installation angezeigt wird, weiterhin ausgeführt. Sie können dieses Standardverhalten so ändern, dass der Befehl ohne eine erneute Ausführung beendet wird. Legen Sie hierzu die Eigenschaft run_after_dynamic_install auf no fest.

az config set extension.run_after_dynamic_install=no

Aktualisieren von Erweiterungen

Wenn eine Erweiterung anhand des Namens installiert wurde, aktualisieren Sie sie mithilfe von az extension update.

az extension update --name <extension-name>

Andernfalls kann eine Erweiterung anhand der Quelle gemäß den Anweisungen unter Installieren von Erweiterungen aktualisiert werden.

Falls der Name einer Erweiterung von der CLI nicht aufgelöst werden kann, deinstallieren Sie die Erweiterung, und installieren Sie sie anschließend erneut. Die Erweiterung kann auch Teil der Basis-CLI geworden sein. Versuchen Sie, die CLI wie unter Installieren der Azure CLI beschrieben zu installieren, und überprüfen Sie, ob die Befehle der Erweiterung hinzugefügt wurden.

Deinstallieren von Erweiterungen

Wenn Sie eine Erweiterung nicht mehr benötigen, entfernen Sie sie mit az extension remove.

az extension remove --name <extension-name>

Sie können eine Erweiterung auch manuell entfernen, indem Sie sie am Installationsspeicherort löschen. Die Shellvariable $AZURE_EXTENSION_DIR legt fest, welche Module installiert werden. Wenn diese Variable nicht festgelegt ist, befindet sich der Wert standardmäßig unter $HOME/.azure/cliextensions (Linux und macOS) bzw. %USERPROFILE%\.azure\cliextensions (Windows).

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Häufig gestellte Fragen

Hier sind einige Antworten auf andere häufig gestellte Fragen zu CLI-Erweiterungen aufgeführt.

Welche Dateiformate sind für die Installation zulässig?

Derzeit können nur kompilierte Python-Wheels als Erweiterungen installiert werden.

Können Erweiterungen vorhandene Befehle ersetzen?

Ja. Erweiterungen können vorhandene Befehle ersetzen, aber vor dem Ausführen eines ersetzten Befehls wird von der CLI eine Warnung ausgegeben.

Woran erkenne ich, dass es sich bei einer Erweiterung um eine Vorabversion handelt?

Anhand der Dokumentation und der Versionsverwaltung können Sie erkennen, ob es sich bei einer Erweiterung um eine Vorabversion handelt. Microsoft veröffentlicht häufig Vorschaubefehle als CLI-Erweiterungen, damit sie später ggf. in das CLI-Hauptprodukt aufgenommen werden können. Wenn Befehle aus Erweiterungen verschoben werden, muss die alte Erweiterung deinstalliert werden.

Können Erweiterungen voneinander abhängig sein?

Nein. Da die CLI keine Ladereihenfolge garantiert, werden Abhängigkeiten unter Umständen nicht ordnungsgemäß berücksichtigt. Das Entfernen einer Erweiterung wirkt sich nicht auf andere Erweiterungen aus.

Werden Erweiterungen zusammen mit der CLI aktualisiert?

Nein. Erweiterungen müssen separat aktualisiert werden, wie unter Aktualisieren von Erweiterungen beschrieben.

Wie entwickeln Sie Ihre eigene Erweiterung?

Sehen Sie sich das offizielle Repository an, wenn Sie weitere Unterstützung benötigen. Azure/azure-cli-extensions