我通过Python(Boto3)使用DynamoDB,尝试执行简单的表扫描,但仍然获得0结果。 当我尝试在AWS控制台上使用相同的扫描过滤器时,它会返回正确的结果数。
我的请求代码:
response = table.scan(
FilterExpression=Attr('datetime').eq(1453630770)
)
注意:" datetime" attribute是数字类型
注2:没有参数的表扫描正确产生结果
我做错了什么?谢谢你们
答案 0 :(得分:1)
好的,找到答案 - 显然我已达到最大响应大小(大对象)并通过使用' LastEvaluatedKey'
迭代DynamoDB表来修复它几轮扫描产生了所有结果。
while 'LastEvaluatedKey' in response:
response = table.scan(
ProjectionExpression=pe,
FilterExpression=fe,
ExpressionAttributeNames= ean,
ExclusiveStartKey=response['LastEvaluatedKey']
)
此处有更多信息:http://docs.aws.amazon.com/amazondynamodb/latest/gettingstartedguide/GettingStarted.Python.04.html
希望有人会觉得有帮助。