Простое сканирование DynamoDB - 0 результатов

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

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

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

Примечание: атрибут datetime - это числовой тип.

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

Что я сделал не так? Спасибо, чуваки


person FlyingSheep    schedule 24.01.2016    source источник


Ответы (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.

Надеюсь, кто-то сочтет это полезным.

person FlyingSheep    schedule 26.01.2016