首页 > 解决方案 > 从 AWS AppSync 迁移到 Apollo GraphQL (Javascript)

问题描述

我对 GraphQL 相当陌生,并且一直在为 GraphQL API 使用 AWS AppSync 服务。我使用 AWS Cognito 进行身份验证/授权、一些 Lambda 函数以及连接到我的 API 的无服务器 RDS 实例。我的问题是:

我怎样才能或者有没有办法从 AppSync 迁移到 Javascript 中的 Apollo GraphQL 实现,而重写代码量最少并保持数据源不变?

原因:

  1. 不支持 AppSync 中的版本控制。我无法找到恢复到旧版本 API 的方法。目前,我通过从 AppSync 下载 schema.json 来备份我的 API,并将我的所有解析器备份到一个文本文件中。
  2. 如果代码变大,浏览器会变得无响应并且第一次加载需要大量时间。
  3. $util 中的辅助函数非常有用,但在某些时候,我发现它缺少一些我想做的不同的东西。为了解决这个问题,我使用 Lambda 函数。因此,不支持在 AppSync 中添加自定义模块或库。
  4. 有时,测试和调试解析器真的很令人沮丧。我习惯在控制台上打印,我发现它真的很有帮助。

任何帮助将非常感激。

标签: aws-appsync

解决方案


这并不是关于迁移的真正答案,而是关于您可能会考虑的问题的更多想法。

  1. 版本控制。您可以探索使用无服务器或 AWS 自己的 SAM 离线工作-这样就可以对您的配置进行版本控制。

  2. 浏览器没有响应 - 我猜这不会通过迁移得到解决 - 也许这里有一个可以改进的设计问题。

  3. $util 中的辅助函数 - 我理解,尽管您经常可以找到解决方法。VTL 非常强大(虽然有时很烦人),而且我从来不需要依赖 lamdba,除非做的事情远远超出了任何帮助程序的范围(例如运行 JSON Schema 验证器)。但是我可以肯定地写自己的东西会很好。

  4. 调试 - 使用 #1 中的解决方案之一脱机将对此有所帮助。我对 SAM 没有太多经验,但我非常广泛地使用无服务器,并且 appsync 离线选项提供调试。

也许这会有所帮助。


推荐阅读