Azure 开发者 CLI (azd
) 的可组合性(compose)功能可以让你逐步组合应用所需的 Azure 资源,而无需手动编写 Bicep 代码。 本文介绍如何使用撰写功能生成最小模板。 有关此功能的更多概念性信息,请访问azd
撰写概述文章。
注释
azd
撰写功能目前为 alpha,不应在生产应用中使用。 后续版本中对 alpha 功能的更改可能会导致中断性变更。 有关详细信息,请访问 azd 功能版本控制、发布策略 和 功能阶段 页。 使用右上角的 “反馈 ”按钮共享有关该功能和本文的 compose
反馈。
使用撰写功能
通过azd
命令访问azd add
撰写功能。 该 azd add
命令适用于使用以下 azd init
工作流创建的模板:
- 使用当前目录中的代码(适用于面向用于托管的 Azure 容器应用的应用)
- 创建最小项目
当前不支持通过 “选择模板流” 初始化的模板。 azd
撰写功能可为你管理基础结构,与具有现有的 infra
文件夹资产的模板不兼容。 更多信息请参阅 生成 Bicep 代码 文章和 模板创建工作流 页面。
完成以下步骤,在不编写任何代码的情况下将新资源添加到模板:
在终端窗口中,导航到模板的
azd
根目录。azd add
运行命令以添加新资源并启动撰写工作流:azd add
选择要添加到应用的支持资源之一。 对于此示例,请选择
Database
。? What would you like to add? [Use arrows to move, type to filter] > AI Database Host service Key Vault Messaging Storage account ~Existing resource
对于数据库类型,请选择
PostgreSQL
。? Which type of database? [Use arrows to move, type to filter] MongoDB > PostgreSQL Redis
输入新资源的名称,例如
azddb
。? Input the name of the app database (PostgreSQL)
如果应用包含服务,
azd
则提示你选择使用此资源的服务。? Select the service(s) that uses this resource > [✓] webfrontend
azd
可生成对azure.yaml
文件所需的更改的预览。 按 Enter 接受并应用更改。Previewing changes to azure.yaml: + azddata: + type: db.postgres webfrontend: type: host.containerapp uses: - azddb + - azddata port: 80
运行
azd up
命令以预配通过azd add
命令所做的任何更改。 在此示例中,azd
在 Azure 中预配 PostgreSQL 数据库。azd add
再次运行该命令以添加其他资源,例如 OpenAI 服务。
浏览 azure.yaml 文件
azure.yaml
是用于管理应用的配置文件 azd
。 azd
使用相应的azd add
节点和services
节点管理通过resources
命令组成的服务和资源。 请考虑以下通过 azure.yaml
完全更新的 azd add
文件的示例:
name: azdcomposesample
metadata:
template: azd-init@1.11.0
services:
webfrontend:
project: src
host: containerapp
language: dotnet
resources:
webfrontend:
type: host.containerapp
port: 80
uses:
- azdsql
- azdchat
azdsql:
type: db.postgres
azdchat:
type: ai.openai.model
model:
name: gpt-4o
version: "2024-08-06"
- 节点
services
声明:- 在
webfrontend
目录中的 .NET Web 应用和 Azure 容器应用之间的部署映射命名为src
。
- 在
- 节点
resources
声明:- Azure 容器应用和在托管的 .NET 容器应用和它所依赖的数据库和 AI 服务之间名为
webfrontend
的匹配依赖项映射。 节点uses
将应用映射到它依赖的其他资源。 - 名为
azdsql
的 Azure Database for PostgreSQL 资源。 - 一个名为
azdchat
的 Azure OpenAI 资源。
- Azure 容器应用和在托管的 .NET 容器应用和它所依赖的数据库和 AI 服务之间名为