【发布时间】:2020-07-11 13:09:03
【问题描述】:
当使用带有 dynamodb 后端的 AWS Amplify 时,可以通过在本地修改文件然后执行 amplify push 来更新 AppSync 架构和解析器。
我正在使用 RDS(如文档中所述,使用 amplify api add-graphql-datasource 添加它)。查询和解析器会自动在 AppSync 中设置。当我更新 Aurora RDS 架构时,我再次运行 amplify api add-graphql-datasource 来更新查询和解析器。
但是如何使用 amplify CLI 添加新的查询/突变并将它们绑定到新的解析器(在本地主机上的 vtl 文件中定义)?
我想出了如何使用 AppSync Web 控制台来做到这一点。我在 AppSync 中修改架构并创建解析器,然后使用amplify codegen 更新App.ts、queries.ts 等。但是,这种方法至少有两个原因是不好的。
- 在处理多个环境时,必须通过 AppSync 控制台手动更改每个环境,这对于大型项目来说很困难。
-
amplify codegen不会更新 localhost 上的schema.graphql文件。 - 在对 AppSync 进行更改后执行
amplify pushover 使用本地主机上定义的架构并覆盖 AppSync 控制台中定义的架构。 -
app/amplify/backend/<backend_name>/resolvers中的自定义解析器未与 AppSync 同步 - 堆栈文件不会自动更新。
我是不是走错了路?在使用 RDS 后端时,是否有更好的方法来使用 Amplify CLI 更新架构/解析器?
谢谢!
【问题讨论】:
-
你解决了吗?我们即将进行 AWS 迁移,并且正因为这个原因,我们几乎要放弃 Amplify。 SQL 似乎还没有完成,而且过于专注于 DynamoDB。
-
我同意。遗憾的是,RDS 不支持大多数很酷的放大功能。不过,我确实设法获得了不错的工作流程。
标签: amazon-web-services graphql amazon-rds aws-amplify aws-amplify-cli