[英]How to use with limit data in DynamoDB query in python?
我想按块从 DynamoDB 表中获取数据,每次 2 个值。 我没有找到 python 的示例代码,试图从 c# 翻译,但代码不起作用。 在向查询添加限制和 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 接受字典作为值,因此会引发另一个错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.