android - 以 block 的形式从 AWS DynamoDB 获取数据

标签 android amazon-web-services

我使用 Lambda (node.js) 从 DynamodDB 获取特定数据并将其发送到 android 应用程序。问题是我不想一次性发送所有满足我在 Node.js 中的条件的数据。我在我的 android 应用程序的 ListView 中查看这些数据。在我的数据库中可能有数百万条记录,获取所有这些数据可能需要很长时间。我正在考虑发送这些数据的有效方式。我的想法是只发送第一个(例如)20 条记录,当用户向下滚动列表时,使用最后一条记录的 ID 向服务器发送请求,查看数据库并将另外 20 条记录发送到应用程序。有没有更好的方法呢?

最佳答案

dynamoDB 的亚马逊 API 允许您限制在 GET 和 SCAN 操作中获取的结果数量。

javascript sdk 允许您指定限制。 API 返回 LastEvaluatedKey,这将允许您检索更多结果。

在发出下一个请求时将 LastEvaluatedKey 值作为 ExclusiveStartKey 传递。

由于 Lambda 是无状态的,您必须将 LastEvaluatedKey 传回客户端,并在下次需要检索时将其传回函数。

引用文档: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#query-property https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#scan-property

关于android - 以 block 的形式从 AWS DynamoDB 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37863215/

相关文章:

android - 为什么 Eclipse 不再显示项目 'correctly'?

java - Android Lollipop Material Design 溢出菜单图标颜色

amazon-web-services - AWS Codebuild - 执行命令时出错 : python -m pip install --upgrade --force pip. 原因:退出状态 1

amazon-web-services - 如何在 ASP.NET (Core 2) Web 应用程序中访问来自 AWS 的认证?

javascript - 为什么 scrollView 在我的代码中不能以垂直方式工作?

android - 如何以编程方式更改 NavigationView 的菜单?

python - 如何验证从 Cognito CustomUI 登录页面返回的 AWS Cognito session 代码

amazon-web-services - AWS : Can't get headers to update in Lambda@Edge function

android - 在android布局中的两个 View 之间调整gridview

amazon-web-services - AWS 步骤函数 - 转换 {AWS::AccountId}::StepFunctionsYamlTransform 失败,但没有错误消息