Amazon dynamodb 按页面查询DynamoDB

Amazon dynamodb 按页面查询DynamoDB,amazon-dynamodb,boto3,Amazon Dynamodb,Boto3,我的应用程序需要从dynamoDB查询对象列表,我使用一个用python编写的api(boto3)来查询 我希望用户能够按页面查看项目,并请求下一个/上一个项目 如何在It中实现api? 我的表是带2个键的结构 'key1': user1 //string 'key2' : item1 //string 'key1': user1 'key2' : item2 'key1': user1 'key2' : item3 'key1': user1 'key2' : item4 我目前正在

我的应用程序需要从dynamoDB查询对象列表,我使用一个用python编写的api(boto3)来查询 我希望用户能够按页面查看项目,并请求下一个/上一个项目

如何在It中实现api? 我的表是带2个键的结构

'key1': user1 //string
'key2' : item1 //string

'key1': user1
'key2' : item2 

'key1': user1
'key2' : item3

'key1': user1
'key2' : item4

我目前正在使用query为一个用户获取所有项目,但在很大程度上,我希望按页面获取。扫描操作有一个名为“LastEvaluatedKey”的参数因此,我考虑使用该参数设置ExclusiveStartKey,并将结果限制为每页的项数,但它仍然会扫描整个表,对吗?

DynamoDB将在
查询
扫描
操作的结果大于1MB时返回一个
LastEvaluatedKey


扫描
仍然是一种低效的操作,即使您正在对结果进行分页。如果希望在应用程序中提供分页,则可以通过对
查询
操作的结果进行分页来获得最佳性能。尽可能避免
扫描

boto3提供paginators,实现您想要的功能。还有一个用于查询: