【问题标题】:Is it possible to deploy apollo-server-express to lambda?是否可以将 apollo-server-express 部署到 lambda?
【发布时间】:2021-05-13 18:32:39
【问题描述】:

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

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

有什么简单的方法可以将 apollo-server-express 转换为 apollo-server-lambda?

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

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

【问题讨论】:

  • 你运气好吗?

标签: express aws-lambda graphql apollo-server


【解决方案1】:

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

自从Apollo 3apollo-server-lambda 在后台使用apollo-server-express

因此,无需使用 apollo-server-lambda 从头开始​​编写 graphql 服务器,您只需从中导入 ApolloServer,然后将您现有的 express 应用程序与所有中间件一起提供给它,详情如下:https://www.apollographql.com/docs/apollo-server/deployment/lambda/#customizing-http-serving

然后您需要修改上下文以从express 参数中读取req 值,而不是像在apollo-server-express 中那样直接读取req。你可以关注这个:https://www.apollographql.com/docs/apollo-server/deployment/lambda/#getting-request-info

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

如果有帮助,你可以看看我是怎么做到的hereexpress 中的所有代码都被注释掉了,所以区别是可见的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 2020-03-05
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多