python - 使用 python 从 DynamoDB 查询所有行
问题描述
就我而言,关于如何检索 DynamoDB 的所有行的信息很少。
我用table.scan()
了 但是当使用这种方法时你有一个限制,所以你不会得到所有的项目。
我试过table.query()
但它说:Either the KeyConditions or KeyConditionExpression parameter must be specified in the request.
非常感谢
解决方案
唯一的方法是使用 table.scan() 但您需要添加一致的读取。
Scan 在访问表中的数据时使用最终一致性读取;因此,结果集可能不包括在操作开始之前对表中数据的更改。如果您需要数据的一致副本,则在扫描开始时,您可以将 ConsistentRead 参数设置为 true 。这是文档的链接。 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html#DynamoDB.Client.scan
如果 LastEvaluatedKey 为空,则结果的“最后一页”已被处理,没有更多数据可检索。
如果 LastEvaluatedKey 不为空,并不一定意味着结果集中有更多的数据。知道何时到达结果集末尾的唯一方法是 LastEvaluatedKey 为空。
推荐阅读
- python - Python - 打印接下来的 5 天,不包括周一和周日
- c - 两组 ASCII 字符之间的映射
- mysql - 将 .sql 文件附加到现有数据库
- android - 谷歌地图在笔记本电脑上渲染,而不是在离子应用程序中的移动设备上
- java - 如何使用 Java 获取使用 HTML 输入文件上传的文件的内容?
- python - 无法使用 pyusb 写入 USB 设备(收到超时错误)
- sql - 如何在 PostgreSQL 中更新或插入
- python - 使用 IDE 调试 python 脚本
- django - django导入导出,get()返回不止一个
- wordpress - VR 视频不再显示在任何设备上