【问题标题】:Replacing a socket.io server app with serverless options (AWS Amplify and AppSync maybe?)用无服务器选项替换 socket.io 服务器应用程序(可能是 AWS Amplify 和 AppSync?)
【发布时间】:2022-06-22 19:42:21
【问题描述】:

我有一个 socket.io 应用程序,我想将其转换为无服务器应用程序。这就是应用程序的作用,因此您可以了解它的作用:

经理使用 socket.io 从桌面应用程序触发“收到货件通知”。 socket.io 服务器应用程序接收到通知并立即查询数据库 (DynamoDB) 以获取有关应如何处理此类通知的“说明”。这些指令是一个对象数组。每个对象都是关于需要通知谁的指令。想象一下,说明中的内容是这样的:

  1. 在他们的计算机上联系用户 12345
  2. 向用户 12345 发送推送通知。
  3. 在他们的计算机上联系用户 67890。

如果需要在其计算机上联系用户,则服务器应用程序会再次查询数据库以获取该用户的套接字 ID,该 ID 在用户登录时存储在那里。检索此值后,socket.io 服务器应用程序发出“Shipment-Received”事件,然后由桌面应用处理。

如何使用无服务器工具来做到这一点?我一直在查看 AWS 文档,但找不到明确的答案。我看到 AWS AppSync 现在使用 websockets,但我不知道该怎么做。也许在触发通知后,我可以使用 Lambda 函数从 DynamoDB 检索指令?但是,我如何获得我需要联系的人的 websocket ID?如何实时联系用户?我想也许可以使用 GraphQL 订阅,但我不知道该怎么做。

最好的方法是什么?

【问题讨论】:

    标签: amazon-web-services socket.io aws-amplify aws-appsync aws-serverless


    【解决方案1】:

    您可以使用 Amazon Simple Notification Service。 唯一的问题是,您无法将设计好的邮件作为通知发送。

    https://aws.amazon.com/sns/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-29
      • 1970-01-01
      • 2019-05-28
      • 2020-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      相关资源
      最近更新 更多