Azure 開發人員 CLI (azd) 延伸模組是模組化元件,可擴充 Azure 開發人員 CLI 的功能。 它們讓你能新增功能、自動化工作流程,並直接從 CLI 與其他服務整合。 使用擴充功能,讓 azd 能因應不斷演變的團隊需求和 Azure 情境。
備註
azd擴充框架已普遍提供。 個別擴充功能或功能可能有自己的預覽狀態。
管理擴充功能來源
你可以隨著需求增加,發現、安裝並更新擴充功能。 擴充來源負責分發與管理。
- 延伸模組來源是基於檔案或URL的資訊表,提供可用的
azd延伸模組清單。 - 你可以新增自訂擴充來源,連接私人、本地或公開登錄檔。
- 延伸模組來源的概念等同於 NuGet 或 Node套件管理員 (NPM) 的供應源,且必須遵守官方延伸模組登錄架構。
azd 支援多種解決擴充功能的方法:
-
官方延伸模組來源登錄已預先設定於
azd,且裝載於https://aka.ms/azd/extensions/registry。 - 以 URL 為基礎的來源 會參照由你的團隊託管、供公開或私有散佈使用的遠端登錄資訊清單。
- 以檔案為基礎的來源 會參照本機登錄資訊清單,供離線使用或本機開發。
- 開發與夜間登錄檔是進行中作品的選擇加入來源,並自動建構第一方擴充功能。 用它們來測試情境,而不是生產工作流程。
-
自包含的套件 檔案提供可攜式
.zip套件,方便你從本地檔案或 HTTPS URL 直接安裝,當你不想架設登錄檔時。
azd 強制嚴格驗證自訂擴充套件的原始碼名稱。 名稱必須包含1至64個小寫ASCII字母或數字。 你可以在字母或數字之間加上連字號(-)和底線(_)。 名字必須以字母或數字開頭和結尾。
azd 對無效名稱會傳回錯誤;不會將其正規化。
azd名稱 和 bundle 是保留的,不能用於自訂來源。 當你將來源名稱與 --source 一起使用時,該名稱必須有效。
預先設定 azd 的原始碼是官方登錄檔。 你無法移除或更改它的位置。
要選擇加入開發登錄檔,請執行以下指令:
# Add a new extension source name 'dev' to your `azd` configuration.
azd extension source add -n dev -t url -l "https://aka.ms/azd/extensions/registry/dev"
謹慎
開發登錄檔中託管的擴充功能未簽署,不在 Azure 支援 支援範圍內,且可能在未經通知的情況下更改或移除。
擴充功能原始碼命令
使用下列命令來管理您 azd 安裝的擴充功能來源。
列出已安裝的擴充功能來源
azd extension source list
新增延伸模組來源
azd extension source add -n <name> -t url -l <registry-url>
-
-l, --location:擴充來源的位置。 -
-n, --name:延伸模組來源的名稱。 使用有效的自訂來源名稱。 -
-t, --type:擴充來源的類型。 支援的型別為檔案和URL。
拿掉延伸模組來源
azd extension source remove <name>
你無法移除預先設定 azd 的原始碼。
如果更新回報在 ~/.azd/config.json 中因舊版的無效來源名稱而導致來源載入錯誤,請使用 azd extension source remove 移除有問題的來源,然後再以有效名稱重新加入。
管理擴充套件
啟用擴充功能並設定擴充功能來源後,安裝擴充功能以新增功能。azd 關於使用擴充功能的範例,請參考 快速入門 - 使用 AI 擴充功能。
列出延伸模組
azd extension list [flags]
-
--installed顯示已安裝的延伸模組清單。 -
--source只列出指定來源的擴充功能。 來源名稱必須是有效的註冊來源名稱。 -
--tags以標籤(如 AI 或測試)篩選擴充功能。
安裝擴充功能
azd extension install <extension-names> [flags]
請將<extension-name>替換為您想要安裝的擴充功能名稱。
-
-v, --version會指定安裝的確切版本。 此選項不接受版本範圍或限制,且安裝自包含的套件(.zip檔案路徑或網址)時無法使用。 -
-s, --source指定用於安裝的擴充來源。 來源名稱必須是有效的註冊來源名稱。
若要從 HTTPS URL 安裝自包含的套件,請提供套件的位置作為擴充名稱:
azd extension install https://example.com/extensions/example.zip
-
--all在指定時升級所有先前安裝的延伸模組。 -
-v, --version若有提供,將指定的擴充功能升級為完全相同的版本。 這個選項不接受版本範圍或限制。 -
-s, --source指定用於安裝的擴充來源。 來源名稱必須是有效的註冊來源名稱。 -
--no-dependency-updates在指定時防止相依關係的更新。
卸載擴充功能
azd extension uninstall <extension-name>
-
--all在指定時移除所有已安裝的延伸模組。
在專案中宣告所需的擴充
專案可以在 azure.yaml 中宣告所需的擴充功能,讓 azd 能夠解析並安裝專案所需的擴充功能版本。 在 requiredVersions.extensions 下新增擴充功能需求,並使用 latest、確切版本或支援的語意化版本限制。
requiredVersions:
extensions:
azure.ai.agents: "latest"
contoso.azd.tagger: "^2.0.0"
當範本依賴擴充套件提供的服務主機、生命週期處理器、驗證提供者或指令時,請使用專案層級需求。 完整的結構與版本限制細節請參見 requiredVersions。
了解擴充功能整合點
擴展可透過多種方式與 azd 整合:
- 新增指令命名空間,包含元資料、說明和範例。
- 提供專案檔案的設定架構與 IntelliSense 元資料。
- 註冊生命週期事件處理程序,用於配置、封包和部署等工作流程。
- 新增提供者以進行自訂配置、驗證、服務目標及語言或框架支援。
- 為代理程式及開發者工具提供模型情境協定(MCP)伺服器功能。
有關實作指引,請參閱 擴充開發概念。
在開發容器中使用 azd 擴充功能
azd開發容器功能支援extensions在容器建置時自動安裝由逗號分隔的多個擴充功能組成的azd清單。 這種方式安裝的擴充功能在容器啟動時即可使用,減少手動設定,並允許 azd 指令在已安裝的擴充功能下執行。
要自動安裝擴充功能,請在extensions檔案azd的功能項目中新增devcontainer.json以下選項:
{
"name": "Azure Developer CLI",
"image": "mcr.microsoft.com/devcontainers/python:3.10-bullseye",
"features": {
"ghcr.io/azure/azure-dev/azd:latest": {
"extensions": "my-ext-1,my-ext-2"
}
}
}
該 extensions 值是一個逗號分隔的擴展名列表 azd。 安裝會在容器建造過程中完成,因此擴充元件在容器開始時即可立即使用。 更改擴充功能列表後,使用 Visual Studio Code 中的 Rebuild 並 Reopen in Dev Container 指令,將容器重新建立並更新後的擴充功能。
了解更多關於 azd 開發容器功能。