10

我最近开始使用 GraphQL,并且能够成功地将其设置在 AWS Lambda 上,从而为我提供了一个“无服务器”架构。但是,我想利用 GraphQL 订阅来获得更多实时功能。

我了解 AWS Lambda 不允许使用 WebSocket,因为连接仅在函数运行或达到超时限制时才会持续。

但是有没有办法设置 GraphQL 后端,以便它可以利用订阅并将其保留在 AWS 服务中,并让它像“无服务器”应用程序一样扩展。

比如使用 AWS Lambda 进行 GraphQL 查询和突变,然后使用不同的 AWS 服务进行 GraphQL 订阅。

4

3 回答 3

7

AWS AppSync于本周(11 月 29 日)宣布,它支持 graphQL 订阅。

于 2017-11-30T16:31:28.773 回答
0

我已经开始使用谷歌云功能,但现在转移到 zeit,它是无服务器的,但我也可以使用订阅。也许你也可以看看那里

于 2018-02-18T11:15:52.393 回答
0

在 AWS 上支持 WebSockets 的唯一无服务器服务是 IoT。我知道这个名字听起来很奇怪,但它适用于网络浏览器。

您需要在前端捆绑AWS IoT 开发工具包以订阅和发布主题,并使用 Cognito 或 IAM 为您的客户端检索临时凭证。您可以设置限制,因此客户端将只能订阅/发布特定主题。

我不知道 GraphQL 订阅的具体工作原理,但我想您的客户将订阅一个主题,并且每次数据更改时,都会触发一个 Lambda 函数。此 Lambda 将能够向主题发布通知,并且订阅此主题的所有客户端都将收到该消息。

于 2017-07-02T00:27:49.270 回答