Нет LastEvaluatedKey при использовании ScanOndexForward - PullRequest
0 голосов
/ 10 октября 2019

У меня есть динамо-таблица, заполненная тысячами записей.

Когда я выполняю запрос со ScanIndexForward = True, я получаю ключ LastEvaluatedKey, который можно использовать для получения следующего пакета (ограничение 1 МБ)

Но когда я использую ScanIndexForward = False, у меня нет значения LastEvaluatedKey.

Это поведение по умолчанию?

Запрос в вопросе

dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table('dev2')

    if sort_desc == '':
        sort_desc = False

    if last_key_date == '':
        response = table.query(
            ScanIndexForward=bool(sort_desc),
            KeyConditionExpression=Key('exp_ID').eq(experiment_id)
        )
    else:
        response = table.query(
            ScanIndexForward=bool(sort_desc),
            ExclusiveStartKey={
                "Time": last_key_date,
                "exp_ID": experiment_id
            },
            KeyConditionExpression=Key('exp_ID').eq(experiment_id)
        )

    return response

Структура таблицы

Primary key = exp_ID
Sort key = Time

Спасибо!

...