2016-01-24 6 views
0

Я использую DynamoDB через Python (Boto3), пытаясь выполнить простое сканирование таблицы, но получаю 0 результатов. Когда я пытаюсь использовать тот же фильтр сканирования на AWS консоли, он возвращает правильный # результатов ..DynamoDB простое сканирование - получение 0 результатов

мой код запроса:

response = table.scan(
      FilterExpression=Attr('datetime').eq(1453630770) 
     ) 

Примечание: атрибут «Дата и время» является числом тип

Примечание 2: сканирование таблицы без PARAMS дали результаты правильно

Что я сделал не так? Благодарности duders

ответ

1

Ладно, нашел ответ - видимо, я достиг максимального размера ответа (большие объекты) и фиксируют его итерация DynamoDB таблицу, используя «» LastEvaluatedKey

Несколько раундов сканирования дали все результаты правильно.

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

Надежда кто-то найдет это полезным.