如何在python中的DynamoDB查询中使用限制数据?

如何在python中的DynamoDB查询中使用限制数据?,python,amazon-web-services,pycharm,amazon-dynamodb,dynamodb-queries,Python,Amazon Web Services,Pycharm,Amazon Dynamodb,Dynamodb Queries,我想从DynamoDB表中逐块获取数据,每次2个值。 我没有找到python的示例代码,尝试从c#进行翻译,但代码不起作用。 在我将limit和ExclusiveStartKey添加到查询之前,我从AWS获得了数据。 有人能帮忙吗 name&source是我提供的参数 这是我的密码 while True: lastKeyEvaluated = null; sourceTable = dynamodb.Table (source) respo

我想从DynamoDB表中逐块获取数据,每次2个值。 我没有找到python的示例代码,尝试从c#进行翻译,但代码不起作用。 在我将limit和ExclusiveStartKey添加到查询之前,我从AWS获得了数据。 有人能帮忙吗

name
&
source
是我提供的参数

这是我的密码

    while True:
        lastKeyEvaluated = null;
        sourceTable = dynamodb.Table (source)
        response = sourceTable.query (
            IndexName="Name-index",
            KeyConditionExpression=Key ('Name').eq (name),
            Limit = 1,
            ExclusiveStartKey = lastKeyEvaluated,
        )
        lastKeyEvaluated = response['LastEvaluatedKey'];
        print ("get data passed sucssesfully")
        print (response)
        if lastKeyEvaluated == null and lastKeyEvaluated.Count is 0:
            break
        return response

正如您在问题中所说,当您添加“lastKeyEvaluated”时,代码可能停止工作

首先,在Python中,不使用分号来结束语句,这是一个问题。 另一个问题是,您正在用空值声明“lastKeyEvaluated”变量。Python使用None而不是null

最后,如果您查看有关boto3的文档,您将看到ExclusiveStartKey接受字典作为值,因此将引发另一个错误

您能分享您遇到的错误吗?此外,请确保正确格式化代码,因为在不应该的地方有很多空格。最后,确保检查Python AWS SDK的文档: