你可以使用dynamodb流来获得像firebase这样的实时触发器吗?

时间:2015-07-24 19:31:56

标签: amazon-dynamodb

通过新的dynamodb流功能,你可以用它来做聊天室这样的实时推送场景吗?或者您是否只能轮询流api以获得定期更新?

似乎唯一的例子显示dynamodb连接到kinesis流以实现实时推送而不是通过轮询。

进一步了解聊天室示例,您是否可以使用过滤子句调用dynamodb流API“GetRecords”,以便只获取特定散列或范围的记录?

什么是“ShardIterator?”阅读文档,目前还不清楚它的具体用途。

3 个答案:

答案 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流连接到其中一个

  1. 运动或
  2. Lambda

我无法弄清楚另一个适配器,或更确切地说是通用的Webhook适配器。

是否可以通过直接挂钩到我的Webhook将流传输到外部?