无服务器 GraphQL 订阅



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

我知道 AWS Lambda 不允许 WebSockets,因为连接仅在函数运行或达到超时限制时持续存在。

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

就像将 AWS Lambda 用于 GraphQL 查询和突变,然后使用 AWS 服务进行 GraphQL 订阅。

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

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

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

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

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

最新更新