首页 > 解决方案 > 如何在 android 应用程序中持续监听 Dynamo DB 更改?

问题描述

我正在开发一个 Android 应用程序,我将多个设备的经纬度值存储在 Dynamo Db 表中并尝试获取它们并实时在地图上显示它们的位置。所以我想知道如何持续监听 Dynamo DB Table 中的数据变化。目前我正在使用“计时器”,它每 1 秒重复一次并获取最新的经纬度值。但这不是一个好的解决方案。这个你能帮我吗。

标签: javaandroidamazon-web-servicesamazon-dynamodb

解决方案


您可以通过使用 DynamoDB Streams 调用的 lambda 函数来实现这一点。因此,您不必定期提取数据,但 AWS 服务会将数据推送到您的设备。基本上,当 Dynamodb 有更新时,Lambda 会处理并返回结果。

根据您的用例,我可以看到两种可能的路径来检索 lambda 处理的数据。

  1. 处理完数据后,lambda 可以调用您的设备订阅的 SNS 主题。
  2. 您的设备可以侦听代理到 lambda 函数的 API 网关的套接字连接。

https://docs.aws.amazon.com/lambda/latest/dg/with-ddb-example.html https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html https:// aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/


推荐阅读