关于在AWS中处理实时数据的建议

时间:2018-02-16 04:23:15

标签: aws-lambda amazon-dynamodb aws-api-gateway aws-iot aws-appsync

我正在开发一个实时提供数据快照的应用程序。 数据当前存储在DynamoDB中。数据的当前状态应显示在简单的html页面上。 到目前为止我探索过的其中一个选项是 DynamoDB - Lambda - APIGateway。最具挑战性的部分是当DynamoTable中的(预期数据)更新时的数据推送

不确定appsync或IoT是否会有任何帮助。

非常感谢任何有关如何实现这一目标的建议。

2 个答案:

答案 0 :(得分:1)

DynamoDB Streams可以帮助您实现目标。

如何使用它的一个案例是:

流行的移动应用程序以每秒数千次更新的速度修改DynamoDB表中的数据。另一个应用程序捕获并存储有关这些更新的数据,为移动应用程序提供近实时使用指标。

在下一篇文章中查看更多内容 - Capturing Table Activity with DynamoDB Streams

更新:API网关未设计为将数据流式传输到客户端。您可以通过每5-10秒调用API网关来模拟它。但它看起来并不是最佳解决方案。

我建议调查Amazon Kinesis。可以从Lambda触发Kinesis并实现Kinesis Consumer以读取Kinesis流。您可以在下一篇文章中查看更多详细信息 - Developing Amazon Kinesis Data Streams Consumers Using the Kinesis Client Library

另一方面,您可以尝试在没有Lambda的情况下实现此功能。我没有看到一个很好的例子,但本文描述了类似的东西 - Processing Amazon DynamoDB Streams Using the Amazon Kinesis Client Library

答案 1 :(得分:0)

您可能会发现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