首页 > 解决方案 > 如何在 SimpleDB 中使用分页?

问题描述

我刚开始使用 SimpleDB,但在这里我陷入了应用分页的困境。我需要从 5 到 15 的行。但是,根据我的搜索,我发现下面的查询在这里不起作用(因为它适用于 SQL):

SELECT * from `DomainName` limit 5, 10;

所以我在这里尝试了分页功能:

import boto3, json

def lambda_handler(event, context):
    session = boto3.session.Session()
    client = session.client("sdb", region_name="us-east-1")

    paginator = client.get_paginator('select')
        
    page_iterator = paginator.paginate(
                        SelectExpression=f"SELECT * FROM `DomainName`",
                        ConsistentRead=True,
                        PaginationConfig={'MaxItems': 10, 'StartingToken': token}
                                      )
  
    selected = []
    for page in page_iterator:
        for pg in page["Items"]:
            selected.append(pg)
            
        # token = page['NextToken']
           
    return{
            'statusCode': 200,
            'headers': {
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Methods': '*'
            },
        'body': json.dumps({'message': selected})
    }

请建议如何实现这一目标。我已经阅读了有关 Token、NextToken String 的内容,但无法实现它们。

标签: pythonamazon-web-servicesaws-lambdaamazon-simpledb

解决方案


从您的分页命令中删除“分页配置”并尝试在没有它的情况下运行您的代码。在此处查看有关使用分页的更多说明


推荐阅读