hal*_*ump 6 amazon-web-services amazon-rds graphql aws-amplify aws-amplify-cli
将 AWS Amplify 与 dynamodb 后端配合使用时,可以通过在本地修改文件然后执行amplify push.
我正在使用 RDS(amplify api add-graphql-datasource如文档中所述添加了它)。查询和解析器会自动在 AppSync 中设置。当我更新 Aurora RDS 架构时,我amplify api add-graphql-datasource再次运行以更新查询和解析器。
但是如何vtl使用 amplify CLI添加新的查询/突变并将它们绑定到新的解析器(在本地主机上的文件中定义)?
我想出了如何通过使用 AppSync Web 控制台来做到这一点。我修改架构,并创建解析器中的AppSync,然后使用amplify codegen来更新App.ts,queries.ts等等。但是,这种做法是不好的,至少有两个原因。
amplify codegen不更新schema.graphql本地主机上的文件。amplify push在对 AppSync 进行更改后执行使用本地主机上定义的架构并覆盖 AppSync 控制台中定义的架构。app/amplify/backend/<backend_name>/resolvers与 AppSync 不同步我会以错误的方式解决这个问题吗?在使用和 RDS 后端时,是否有更好的方法使用放大 CLI 更新架构/解析器?
谢谢!
好的,
\n\n\n\n
\n- 使用多个环境时,必须通过 AppSync 控制台手动完成对每个环境的更改,这对于较大的项目\n来说很困难。
\n
为每个环境保留一个 git 分支。首先在分支中进行更改dev并运行amplify push以将更改推送到 AppSyncdev项目。当需要将更改引入暂存时,请执行以下操作:
cd app && amplify env checkout staging && amplify env pull --restore && amplify statusgit checkout staging && git merge devamplify push\n\n\n
\n- amplify codegen 不会更新本地主机上的 schema.graphql 文件。
\n
确实如此,但这不是amplify codegen应该做的,所以我不确定我写的是什么。该文档非常清楚:
\n\nCodegen 可帮助您生成 iOS 和 Android 的本机代码,以及\n生成 Flow 和 TypeScript 的类型。它还可以生成\nGraphQL 语句(查询、突变和订阅),以便您\ndon\xe2\x80\x99 不必手动编码它们。
\n
..下一个!
\n\n\n\n
\n- 对 AppSync 进行更改后执行放大推送会使用本地主机上定义的\n架构,并覆盖 \nAppSync 控制台中定义的架构。\n我不确定我在这里要说什么。但最终为我工作的工作流程是
\n
schema.graphql在本地主机上更新amplify push更新 AppSync\n\n\n
\n- app/amplify/backend/<backend_name>/resolvers 中的自定义解析器\n不与 AppSync 同步
\n
我错了。如果您正确创建所需的解析程序文件,则 AppSync 解析程序会在运行时正确配置amplify push。我的错误是我忘记创建响应映射器模板文件。
\n\n\n
\n- 堆栈文件不会自动更新。
\n
这是事实,但您很快就会习惯手动编辑堆栈文件。事实上,如果有一个快速添加功能就好了,但由于您只是添加一个json文件,因此很容易组合一个快速的 Python 脚本来为您完成此操作。
| 归档时间: |
|
| 查看次数: |
924 次 |
| 最近记录: |