通过新的dynamodb流功能,你可以用它来做聊天室这样的实时推送场景吗?或者您是否只能轮询流api以获得定期更新?
似乎唯一的例子显示dynamodb连接到kinesis流以实现实时推送而不是通过轮询。
进一步了解聊天室示例,您是否可以使用过滤子句调用dynamodb流API“GetRecords”,以便只获取特定散列或范围的记录?
什么是“ShardIterator?”阅读文档,目前还不清楚它的具体用途。
答案 0 :(得分:11)
DynamoDB Streams与Kinesis非常非常相似,但技术上却不同。他们使用类似的API,他们的客户端库也是相关的,但它们是不同的。
听起来您正在等待客户端上运行的客户端(例如:浏览器)接收实时更改记录的通知。这不是DynamoDB Streams提供的。
DynamoDB Streams更像是数据库触发器的NoSQL +云方法。
使用DynamoDB + DynamoDB Streams + Lambda +某种类型的Web套接字服务器构建类似于Firebase的东西是可能的。使用此方法,您可以写入DynamoDB数据库,通知Lambda函数,该函数将通知客户端实时连接的Web套接字服务器。这意味着DynamoDB Streams + Lambda实际上并没有为这个用例做繁重的工作,因为您需要在EC2上运行自己的Web套接字服务器。
答案 1 :(得分:2)
现在AWS IoT可用,您可以执行DynamoDB Streams> Lambda> AWS IoT>浏览器MQTT or Websockets。这有两种方式 - 返回路径更简单,因为AWS IoT可以直接发布到Dynamodb。
Lambda从Dynamodb Streams接收记录列表,您可以使用按聊天或用户构建的MQTT主题(/ chat / {uuid}或/chat/joe)循环列表并将数据发布到适当的客户端。
答案 2 :(得分:0)
我正在寻找将DynamoDB流传输到我自己的Webhook或本地数据管道以处理数据的解决方案。根据我的探索以及该线程,看来我们需要将DynamoDB流连接到其中一个
我无法弄清楚另一个适配器,或更确切地说是通用的Webhook适配器。
是否可以通过直接挂钩到我的Webhook将流传输到外部?