部署指南序列图,包括以下位置:概述、计划、准备、发布、监视和优化。 当前“发布”位置已突出显示。
先决条件
具有活动订阅的 Azure 帐户。 免费创建帐户。
数据 API 生成器 CLI。 安装 CLI。
Azure CLI。 安装 Azure CLI。
可从 Azure 寻址的现有数据库。
生成配置文件
首先,生成数据 API 生成器 (DAB) 配置文件以连接到现有数据库。 稍后将此文件与最终容器一起使用。
在本地计算机上创建一个空目录来存储配置文件。
使用
dab init
.. 初始化新的基本配置文件。 在初始化时至少使用以下设置。设置 价值 数据库类型 选择受支持的数据库类型。 连接字符串 使用 @env()
函数引用DATABASE_CONNECTION_STRING
环境变量。dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
重要
某些数据库类型需要初始化时的其他配置设置。
将至少一个数据库实体添加到配置中。 使用
dab add
命令来配置实体。 配置每个实体以允许匿名用户的所有权限。dab add
对您的实体重复您想要的次数。dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
打开并查看 dab-config.json 文件的内容。 稍后在本指南中使用此文件。
Azure 文件中的主机配置
接下来,将配置文件上传到在 Azure 文件中创建的文件共享。 此文件共享最终作为卷装载到最终容器。
登录到 Azure 门户(https://portal.azure.com)。
创建新的资源组。 你将使用此资源组来获取本指南中的所有新资源。
小提示
建议命名资源组 msdocs-dab-aca。 本指南中的所有屏幕截图都使用此名称。
创建 Azure 存储帐户。 使用这些设置配置帐户。
设置 价值 资源组 选择之前创建的资源组 存储帐户名称 输入全局唯一名称 区域 选择 Azure 区域 性能 选择“标准” 冗余 选择“本地冗余存储(LRS)” 启用存储帐户密钥访问 选择已启用 导航到 Azure 门户中的新存储帐户。
在资源菜单的“数据存储”部分选择“文件共享”。 然后,从命令栏中选择 “文件共享 ”,以在存储帐户中创建新共享。 使用以下设置来配置新的文件共享。
设置 价值 名称 输入 config
访问层 选择 “热” 启用备份 请勿选择 将 dab-config.json 和其他任何必需的文件上传到共享。 使用命令栏中的 “上传 ”选项打开 “上传文件 ”对话框。 选择这两个文件,然后选择“ 上传”。
在资源菜单的“安全性 + 网络”部分选择“访问密钥”。 然后,记录此页面中的存储帐户名称和密钥值。 本指南稍后将使用这些值。
创建基本容器应用
现在,使用 Azure 容器应用在 Azure 中创建容器。 此容器在没有配置的情况下托管数据 API 生成器映像。
创建 Azure 容器应用资源。 在创建应用资源的过程中,需要创建环境。 使用这些设置配置这两个资源。
资源 设置 价值 环境 环境名称 输入全局唯一名称 环境 环境类型 仅选择消耗 环境 日志目标 选择“不保存日志” 应用 资源组 选择之前创建的资源组 应用 存储帐户名称 输入全局唯一名称 应用 区域 选择与存储帐户相同的区域 应用 使用快速入门映像 请勿选择 应用 映像源 选择 Docker 中心或其他注册表 应用 图像类型 选择“公开” 应用 注册表登录服务器 输入 mcr.microsoft.com
应用 图像和标记 输入 azure-databases/data-api-builder:latest
应用 环境变量 - 名称 输入 DATABASE_CONNECTION_STRING
应用 环境变量 - 值 输入数据库的连接字符串。 应用 入口 确保已选中“启用” 应用 入口流量 选择“从任意位置接受流量” 应用 客户端证书模式 选择 “忽略” 应用 入口类型 选择“HTTP” 应用 目标端口 输入 5000
小提示
建议使用不包含授权密钥的连接字符串。 请改用托管标识和基于角色的访问控制来管理数据库和主机之间的访问。 有关详细信息,请参阅 使用托管标识的 Azure 服务。
在 Azure 门户中导航到新的容器应用。
使用 Essentials 部分中的 应用程序 URL 字段浏览到容器应用的网站。 观察指示 DAB 容器正在运行且状态 正常的响应。
{ "status": "healthy", "version": "1.1.7", "app-name": "dab_oss_1.1.7" }
注释
版本号和名称因数据 API 生成器的当前版本而异。 此时,无法导航到任何 API 终结点。 装载 DAB 配置文件后,这些终结点将可用。
装载配置文件
最后,将配置文件从 Azure 文件共享装载到容器应用。 此步骤允许数据 API 生成器使用配置文件连接到数据库。
使用 Azure 门户导航到之前在本指南中创建的容器环境。
在资源菜单的“设置”部分选择 Azure 文件。 然后,从命令栏中选择 “添加” ,将现有文件共享添加到容器环境。 使用以下设置来配置新的文件共享。 然后 保存 新的文件共享配置。
设置 价值 名称 输入 config-share
存储帐户名称 本指南前面记录的存储帐户的名称。 存储帐户密钥 本指南前面记录的存储帐户的密钥。 文件共享 输入 config
访问模式 选择“只读” 在 Azure 门户中再次导航到容器应用。
在资源菜单的“应用程序”部分选择“修订版和复制品”。 然后,从命令栏中选择“创建新修订”,开始为容器应用配置新修订的过程。
导航到“卷”部分,然后选择“添加”选项。 使用以下设置配置新卷。 配置卷后,将该卷添加到容器版本中。
设置 价值 卷类型 选择 Azure 文件卷 名称 输入 config-volume
文件共享 输入 config
导航到 “容器 ”部分,选择单个当前容器,然后选择“ 编辑” 选项。 使用以下设置为容器配置两个挂载。 保存所做更改。
设置 价值 卷名称 输入 config-volume
装载路径 输入 /App/dab-config.json
子路径 输入 dab-config.json
设置 价值 卷名称 输入 config-volume
装载路径 输入 /App/schema.graphql
子路径 输入 schema.graphql
选择 “创建 ”,使用指定的卷装载创建新的修订。 等待修订完成部署
在 Essentials 部分中使用 应用程序 URL 字段再次浏览到容器应用的网站。 请注意,响应仍然指示 DAB 容器正常。
导航到当前正在运行的应用程序的
/api/swagger
路径。 使用 Swagger UI 为其中一个实体发出 HTTP GET 请求。
清理资源
不再需要示例应用程序或资源时,请删除相应的部署和所有资源。
使用 Azure 门户导航到 资源组 。
在 命令栏中,选择“ 删除”。