在基于 aws appsync 的聊天应用程序中显示在线用户
Posted
技术标签:
【中文标题】在基于 aws appsync 的聊天应用程序中显示在线用户【英文标题】:Display Online users in aws appsync based chat application 【发布时间】:2019-12-14 20:14:13 【问题描述】:我使用 AWS Appsync 创建了一个聊天应用程序。我的问题是我无法识别在线和离线用户。我想在用户登录时将其标记为数据库中的活动,但是我无法将它们标记为非活动,因为我使用的是单点登录并且没有注销功能。
我验证了订阅创建的 MQTT 连接,但找不到任何相关内容。聊天应用是网络应用。
【问题讨论】:
【参考方案1】:您可以选择使用DynamoDB TTL。您可以将记录写入表以启用存在检测,并使用心跳机制从您的应用程序中更新这些记录。 DynamoDB 将为您处理删除记录,因此您无需显式注销即可将它们标记为非活动状态。
【讨论】:
请注意,在达到 TTL 截止日期后,TTL 删除最多可能需要 48 小时:来自 AWS 文档:“根据表的大小和活动级别,过期的实际删除操作项目可能会有所不同。由于 TTL 是一个后台进程,因此用于通过 TTL 过期和删除项目的容量的性质是可变的(但免费)。TTL 通常会在过期后 48 小时内删除过期项目。”跨度>以上是关于在基于 aws appsync 的聊天应用程序中显示在线用户的主要内容,如果未能解决你的问题,请参考以下文章
Appsync 客户端对 GraphQL 突变的 Angular 订阅
AWS AppSync 订阅:基于更新文档中的对象的复杂授权
用于 AWS AppSync 中的异步计算的 Graphql 订阅