从 AWS AppSync 迁移到 Apollo GraphQL (Javascript)

Migrate from AWS AppSync to Apollo GraphQL (Javascript)

我是 GraphQL 的新手,一直在为 GraphQL API 使用 AWS AppSync 服务。我将 AWS Cognito 用于 authentication/authorization、一些 Lambda 函数以及连接到我的 API 的无服务器 RDS 实例。我的问题是:

我如何或有没有一种方法可以在 Javascript 中从 AppSync 迁移到 Apollo GraphQL 实现,同时重写代码量最少并保持数据源原样?

原因:

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

如有任何帮助,我们将不胜感激。

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

  1. 版本控制。您可以使用 serverless or AWS's own SAM 探索离线工作 - 这样您就可以对配置进行版本控制。

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

  3. $util 中的辅助函数 - 我知道您经常可以找到解决方法。 VTL 非常强大(虽然有时很烦人)而且我从来不必依赖 Lamdba,除非做的事情远远超出任何帮助程序的范围(运行 JSON 模式验证器 for ex)。但是我可以肯定地看到编写自己的东西会很好。

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

也许这有帮助。