是否可以将 apollo-server-express 部署到 lambda?

6 express aws-lambda graphql apollo-server

我有一个使用 apollo-server-express 实现的后端项目。我研究了如何将其部署到 lambda,发现我需要使用 apollo-server-lambda 来实现此目的。

我不熟悉 GraphQL 和 AWS lambda。我不知道这两个包之间的区别 - apollo-server-express 和 apollo-server-lambda。

有没有简单的方法将 apollo-server-express 转换为 apollo-server-lambda?

或者是否可以将此实现直接部署到 AWS lambda?

我尝试使用无服务器部署这个项目,因为它是一个简单的快速应用程序,但它因 6 秒超时而失败。

aad*_*pai 2

我遇到了同样的问题,因为我编写了一个 graphql 服务器,apollo-server-express我必须使用该服务器将其部署到 aws lambda,因此需要使其使用apollo-server-lambda.

自从阿波罗 3 号以来,就在幕后apollo-server-lambda使用。apollo-server-express

因此,您不必使用从头开始编写 graphql 服务器apollo-server-lambda,而是可以ApolloServer从它导入,然后向其提供现有的 Express 应用程序以及所有中间件,如下所示: https: //www.apollographql.com/docs/apollo-server/部署/lambda/#customizing-http-serving

然后,您需要修改上下文以reqexpress参数中读取值,而不是像reqapollo-server-express. 您可以按照以下步骤操作: https: //www.apollographql.com/docs/apollo-server/deployment/lambda/#getting-request-info

如果您使用某些数据库,您需要做的最后一件事是使其重用 aws lambda 中的连接,但这与apollo-server.

如果有帮助,您可以在这里查看我是如何做到的,所有代码都express被注释掉,因此差异是可见的。