如何将RDS作为AWS Amplify Gen2的数据源?
AWS Amplify Gen2 Beta 中使用 RDS(Data API)替代 DynamoDB 的临时指导
由于 Amplify Gen2 仍处于 Beta 测试阶段,官方针对 RDS 作为数据源的正式文档和完整指引尚未发布,但你可以基于已有的 Schema 定义文件尝试以下操作:
1. 匹配依赖版本
确保项目中安装的 @aws-amplify/data-schema 版本与你查看的定义文件版本一致(即 0.13.16),避免版本不兼容问题:
npm install @aws-amplify/data-schema@0.13.16
2. 在 Schema 中指定数据源类型
在数据模型定义里,通过 dataSourceType 字段明确指定使用 RDS,示例代码如下:
import { type ClientSchema, a, defineData } from '@aws-amplify/backend'; const schema = a.schema({ Post: a.model({ title: a.string(), content: a.string() }).dataSourceType('RDS') }); export type Schema = ClientSchema<typeof schema>; export const data = defineData({ schema, authorizationModes: { defaultAuthorizationMode: 'apiKey', }, });
3. 配置 RDS 与 Data API
- 先在 AWS 控制台创建 RDS 实例,务必开启 Data API,同时确保实例处于 VPC 中并配置好对应的 IAM 权限。
- 由于 Beta 版 Amplify CLI 暂未支持自动创建和关联 RDS 资源,需要在项目的 CDK 栈中手动关联 RDS 实例的 ARN 或配置相关资源。
4. 关键注意事项
- 该功能处于早期开发阶段,稳定性不足,自动迁移、复杂查询等操作可能无法正常运行。
- 若遇到报错,可查看 Amplify CLI 的日志输出,或在 AWS Amplify 的 GitHub Issues 中搜索相关问题,社区可能有其他开发者分享的临时解决方案。
内容的提问来源于stack exchange,提问作者Erik Karlsson
相关产品推荐
相关产品推荐

