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文件路径或 URL)时无法使用。 -
-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 中的“重新生成并重新打开开发容器 ”命令,以使用更新的扩展重新生成容器。
进一步了解 azd 开发容器功能。