共用方式為


管理 Azure CLI 擴充功能:安裝、更新和移除

Azure CLI 可提供載入延伸模組的功能。 Azure CLI 的擴充功能被描述為 Python 輪子,這些輪子不是作為 CLI 的一部分隨附,而是以 CLI 命令的形式執行。 透過擴充功能,您可以存取實驗和發行前版本命令,以及撰寫您自己的 CLI 介面的能力。 本文涵蓋了如何管理延伸模組,並回答了關於其使用上的常見問題。

如何尋找擴充功能

若要查看由 Microsoft 提供並維護的可用 Azure CLI 延伸模組,請使用 az extension list-available 命令。

az extension list-available --output table

我們也在文件網站上提供擴充套件清單

如何安裝延伸模組

手動安裝延伸模組

找到要安裝的擴充功能之後,請使用 az extension add 加以安裝。 如果延伸模組出現在 的 az extension list-available輸出中,您可以依名稱加以安裝。

az extension add --name <extension-name>

如果延伸模組來自外部資源,或您有直接連結,請提供來源URL或本機路徑。 延伸模組 必須是 已編譯的 Python 轉輪檔案。

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

您也可以依照 index.json 格式來建置私人擴充功能索引,然後從版本 2.20.0開始,將 Azure CLI 所使用的擴充功能索引 URL 設定為 。 之後,您可以從私人擴充功能索引依名稱安裝擴充功能。

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

安裝擴充功能後,它會出現在 shell 變數 $AZURE_EXTENSION_DIR 的值底下。 如果此變數未設定,則預設位置位於 $HOME/.azure/cliextensions Linux和macOS上,以及 %USERPROFILE%\.azure\cliextensions Windows 上。

自動安裝擴充功能

當您執行未安裝的擴充功能命令時,Azure CLI 可以辨識您執行的命令,並從 版本 2.10.0開始自動安裝擴充功能。 此功能預設會從 版本 2.12.0開始啟用,稱為動態安裝。 您也可以透過先前支援版本的設定加以啟用。

az config set extension.use_dynamic_install=yes_prompt

使用下列組態命令在沒有提示的情況下啟用動態安裝。

az config set extension.use_dynamic_install=yes_without_prompt

使用下列組態命令來關閉動態安裝功能,以還原為預設行為。 如果未安裝擴充功能,擴充功能命令會傳回找不到命令的錯誤。

az config set extension.use_dynamic_install=no

根據預設,提示動態安裝的擴充功能命令會在安裝擴充功能之後繼續執行。 您可以將 屬性run_after_dynamic_install設定no為 ,以變更預設行為,並讓命令結束而不重新執行 。

az config set extension.run_after_dynamic_install=no

如何更新擴充功能

如果您依名稱安裝擴充功能,請使用 az extension update 加以更新

az extension update --name <extension-name>

否則,您可以遵循 安裝擴充功能指示,從來源更新擴充功能

如果您無法使用 CLI 解析擴充功能名稱,請卸載延伸模組,然後嘗試重新安裝。 擴充功能也可能是基底 CLI 的一部分。 請依照安裝 Azure CLI中的指示更新 CLI,並檢查延伸模組的命令是否可用。

如何卸載延伸模組

如果您不再需要擴充功能,請使用 az extension remove 將其移除

az extension remove --name <extension-name>

您也可以手動移除擴充功能,只要從安裝的位置刪除它即可。 $AZURE_EXTENSION_DIR殼層變數會定義模組的安裝位置。 如果此變數未設定,則值預設位於 $HOME/.azure/cliextensions Linux和macOS上,以及 %USERPROFILE%\.azure\cliextensions Windows 上。

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

常見問題

以下是有關 CLI 延伸模組的其他常見問題的一些解答。

允許安裝哪些檔案格式?

目前,只有已編譯的 Python 輪子可以安裝為延伸模組。

延伸模組可以取代現有的命令嗎?

是的。 延伸模組可以取代現有的命令,但 CLI 會在執行已取代的命令之前發出警告。

如何判斷延伸模組是否在發行前版本?

延伸模組的文件和版本會顯示其是否處於發行前版本。 Microsoft 通常會將預覽命令發佈為 CLI 擴充套件,並有可能選擇將它們移至主要 CLI 產品。 當命令移出延伸模組時,應該卸載舊的延伸模組。

延伸模組可以彼此相依嗎?

否。 由於 CLI 不保證載入順序,因此可能無法滿足相依性。 拿掉延伸模組不會影響任何其他專案。

延伸模組是否與 CLI 一起更新?

否。 擴充功能必須分別更新,詳情請參閱更新擴充模組

如何開發自己的延伸模組?

如需詳細資訊,請參閱官方存放庫。 Azure/azure-cli-extensions