AWS Amplify-管道解析器与Lambda解析器

时间:2020-01-23 13:35:19

标签: amazon-web-services aws-lambda amazon-dynamodb aws-amplify aws-appsync

当您需要使用AWS Amplify从单个自定义gql操作访问多个资源(例如,不同的DynamoDB表)时,为什么要在lambda解析器上使用管道解析器,反之亦然?从阅读的情况来看,关于每种方法的优点/缺点以及其中一种方法可能比另一种方法更好的用例的信息似乎很少。

我已经读到调试管道解析器是一场噩梦,因为您无法打印/console.log,因此,如果为true,那将是管道解析器的一个巨大缺点,也是使用lambda代替的原因...

1 个答案:

答案 0 :(得分:2)

一些想法(尽管并不详尽):

  1. AppSync管道解析器不会产生Lambda函数的额外费用
  2. 管道解析器 可能会更快,因为它们不必对Lambda进行额外的跳跃(尽管您应该进行自我测试以确认)
  3. Lambda可能会根据您的经验为您提供更熟悉的编程模型。
  4. Lambda还可允许您执行AppSync中的VTL无法完成的其他更复杂的操作。

也就是说,您不一定需要管道解析器来访问多个数据源。您可以使用可以在同一请求中执行的多个解析器设置多个数据源。

您可能还想看看https://github.com/serverless/serverless-graphql/issues/248,其中包含有关在AppSync API后面使用多个DynamoDB表的优点和缺点的有趣讨论。