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