是否可以使用AWS以无服务器方式订阅WebSocket?

Bra*_*don 5 amazon-web-services websocket amazon-dynamodb serverless

一个网站提供一个websocket来获取实时数据.我正在尝试在DynamoDB表中记录从websocket接收的数据,以获取无服务器应用程序的数据源.他们如何使用websocket的示例是使用socket.io-client的一些Node.JS代码.作为JavaScript我认为使用AWS Lambda函数,但它们不是为了不断运行.是否有AWS服务来处理此类订阅?我不想为了这个目的而制作一个小的EC2实例来运行一个小应用程序.

我看过的事情:

  • Lambda函数 - 仅用于短期执行而不是长时间运行的任务.
  • SNS订阅 - 根据我的理解,这需要订阅SNS发布者.
  • Kinesis Stream - 要求制作人使用Streams PUT API.

任何帮助将不胜感激!

Mar*_*lva 16

难道你们看不到他不想成为服务器,而是想成为客户吗?

因此,如果我们谈论成为客户端,那么直到现在,在 Amazon AWS 上还没有解决方案/服务,它是无服务器的,并且仅在套接字的生存时间(从连接到断开连接)内保持活动状态。

不幸的是,我认为我们只能处理这种场景的实例。


Ash*_*han 12

您不能直接使用Lambda来保持Websocket连接,因为Lambda和API Gateway是无状态的.您可以使用AWS中的两项服务来实现此目的,

  • AWS IOT Websockets: - 想法是客户将订阅IOT主题,并且从Lambda它将消息推送到客户端.

在此输入图像描述

  • AWS AppSync(新推出): - 在Lambda和DynamoDB之间有一个层,它将提供WebSocket支持.

注意:您可能需要立即请求预览AppSync.

  • 这个答案与问题无关。 (5认同)
  • 问题是关于*作为客户端*使用 Websocket 服务。您列出的信息是关于如何创建 Websocket 服务 - 它的服务器端。 (4认同)