Graphql查询解析器拆分为单独的lamdas

时间:2018-01-21 16:58:11

标签: aws-lambda graphql serverless

我正在使用aws lambdas编写无服务器应用程序。我们正在使用apollo graphql用于单个端点。 graphql端点在一个单独的lamda中运行,如何将graphql查询突变解析器拆分为单独的lamda函数,如graphcool和aws app-sync。

2 个答案:

答案 0 :(得分:0)

AWS AppSync具有数据源的概念,可以是单个Lambda函数(或者您可以使用DynamoDB表或Elasticsearch域)。在GraphQL模式中,您可以将解析器附加到字段(如查询或变异),此解析程序将调用Lambda数据源。 AppSync允许您将此作为单个Lambda调用或" BatchInvoke"让Lambda命中多个资源并返回一个LIST。

解析器模板(用Velocity模板语言编写)非常简单,可以将GraphQL请求发送到Lambda,添加它是控制台中示例的下拉选项:

{
    "version" : "2017-02-28",
    "operation": "Invoke",
    "payload": $util.toJson($context.arguments)
}

您可以在此处详细了解:https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-lambda-resolvers.html

答案 1 :(得分:0)

到目前为止,在Apollo上执行此操作的唯一方法是通过Lambda的URI对其进行调用。这样做的好处是您可以缓存他们的响应。糟糕的是,您不能拥有纯GraphQL环境。