使用python查询DynamoDB中的所有行
就我所知,关于如何检索DynamoDB的所有行的信息很少 我使用了使用python查询DynamoDB中的所有行,python,amazon-dynamodb,Python,Amazon Dynamodb,就我所知,关于如何检索DynamoDB的所有行的信息很少 我使用了table.scan(),但使用此方法时有一个限制,因此无法获取所有项目 我尝试了table.query(),但它说:必须在请求中指定KeyConditions或KeyConditionExpression参数。 非常感谢唯一的方法是使用table.scan(),但您需要添加一致读取 扫描在访问表中的数据时使用最终一致的读取;因此,结果集可能不会在操作开始前立即包含对表中数据的更改。如果需要数据的一致性副本,则在扫描开始时,可以将
table.scan()
,但使用此方法时有一个限制,因此无法获取所有项目
我尝试了table.query()
,但它说:必须在请求中指定KeyConditions或KeyConditionExpression参数。
非常感谢唯一的方法是使用table.scan(),但您需要添加一致读取 扫描在访问表中的数据时使用最终一致的读取;因此,结果集可能不会在操作开始前立即包含对表中数据的更改。如果需要数据的一致性副本,则在扫描开始时,可以将ConsistentRead参数设置为true。这里是文档的链接。 如果LastEvaluatedKey为空,则结果的“最后一页”已被处理,没有更多数据可检索
如果LastEvaluatedKey不为空,则不一定意味着结果集中有更多数据。知道何时到达结果集末尾的唯一方法是LastEvaluatedKey何时为空。您可以键入代码行或其他内容吗?对于对Dynamoresponse=table.scan(ConsistentRead=True)知之甚少的人来说,这并不清楚,因为我仍然获得有限的数据。如果这没有帮助,您将尝试使用并行扫描获取数据。。您还需要在表扫描中添加TotalSegments和Segments参数。同时尝试添加ReturnConsumedCapacity参数,以便在扫描表时检查容量。据我所知,并行扫描也有容量限制(1MB默认值,如扫描?),我正在使用LastEvaluatedKey进行循环扫描,但速度非常慢。最后,我还需要一个循环,用于使用LastEvaluatedKey进行并行扫描,对吗?