在基于 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 订阅:基于更新文档中的对象的复杂授权

用于 AWS AppSync 中的异步计算的 Graphql 订阅

我们可以在不使用 GraphQL 的情况下在项目中实施 AWS-Appsync 吗?

新设备上的 AWS Appsync 缓存未命中和 403 错误