我正在开发一个实时提供数据快照的应用程序 . 数据当前存储在DynamoDB中 . 数据的当前状态应显示在简单的html页面上 . 到目前为止,我探索过的一个选项是DynamoDB - Lambda - APIGateway . 最具挑战性的部分是当DynamoTable中的(预期数据)更新时的数据推送
不确定appsync或IoT是否会有任何帮助 .
任何关于如何实现这一点的建议将不胜感激 .
DynamoDB Streams可以帮助您实现目标 .
其中一个使用方法是:
流行的移动应用程序以每秒数千次更新的速率修改DynamoDB表中的数据 . 另一个应用程序捕获并存储有关这些更新的数据,为移动应用程序提供近实时使用指标 .
在下一篇文章中查看更多内容 - Capturing Table Activity with DynamoDB Streams
Update: API Gateway不是't designed to stream data to a client. You could emulate it by calling API Gateway each 5-10 second. But it doesn' t看起来是最好的解决方案 .
我建议调查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 .
您可能会发现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
2 回答
DynamoDB Streams可以帮助您实现目标 .
其中一个使用方法是:
流行的移动应用程序以每秒数千次更新的速率修改DynamoDB表中的数据 . 另一个应用程序捕获并存储有关这些更新的数据,为移动应用程序提供近实时使用指标 .
在下一篇文章中查看更多内容 - Capturing Table Activity with DynamoDB Streams
Update: API Gateway不是't designed to stream data to a client. You could emulate it by calling API Gateway each 5-10 second. But it doesn' t看起来是最好的解决方案 .
我建议调查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 .
您可能会发现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