У меня есть динамо-таблица, заполненная тысячами записей.
Когда я выполняю запрос со 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
Спасибо!