我正在开发一个可以实时提供数据快照的应用程序。数据当前存储在DynamoDB中。数据的当前状态应该显示在一个简单的html页面上。到目前为止,我已经探索过的选项之一是DynamoDB - Lambda - APIGateway。最具挑战性的部分是更新(DynamoTable中的目标数据)时的数据推送
不确定appsync或IoT是否会有任何帮助。
任何关于如何实现这一目标的建议都将不胜感激。
发布于 2018-02-16 13:09:00
DynamoDB Streams可以帮助您实现您的目标。
如何使用它的一种情况是:
一个流行的移动应用程序以每秒数千次更新的速度修改DynamoDB表中的数据。另一个应用程序捕获并存储有关这些更新的数据,为移动应用程序提供近乎实时的使用指标。
在下一篇文章- Capturing Table Activity with DynamoDB Streams中查看更多信息
更新:应用编程接口网关不是为向客户端流式传输数据而设计的。您可以通过每隔5-10秒调用API Gateway来模拟它。但它看起来并不是解决这个问题的最佳方案。
我建议调查一下Amazon Kinesis。可以从Lambda触发Kinesis,并实现用于读取Kinesis流的Kinesis Consumer。您可以在下一篇文章- Developing Amazon Kinesis Data Streams Consumers Using the Kinesis Client Library中查看更多详细信息。
另一方面,您可以尝试在不使用Lambda的情况下实现此功能。我还没有看到一个好的例子,但是这篇文章描述了类似的东西-- Processing Amazon DynamoDB Streams Using the Amazon Kinesis Client Library。
发布于 2018-02-17 03:47:36
您可能会发现AppSync对您的用例很有帮助。它有可以配置的数据源,Dynamo就是其中的一种。此外,还有一个订阅的概念,当订阅的数据更新时,它会向订阅的设备发送更新,这听起来就像你想要的。
DynamoDB数据源:https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-dynamodb-resolvers.html
订阅:https://docs.aws.amazon.com/appsync/latest/devguide/real-time-data.html
https://stackoverflow.com/questions/48820049
复制相似问题