Я пытаюсь сделать запрос к DynamoDB, и если возвращается LastEvaluatedKey
(что означает, что запрос превышает 1 МБ), я хочу сделать другие запросы, чтобы извлечь все необходимые данные из таблицы, используя LastEvaluatedKey
как ExclusiveStartKey
для следующего запроса.
Вот код, который у меня есть сейчас:
query_response = table.query(
KeyConditionExpression=Key('brand').eq(brand)
)
pagination_key = None
if 'LastEvaluatedKey' in query_response:
pagination_key = query_response['LastEvaluatedKey']
while pagination_key:
next_query_response = table.query(
KeyConditionExpression=Key('brand').eq(brand),
ExclusiveStartKey=pagination_key
)
Однако я хотел бы изменить этот код, извлекая запрос в метод, передавая ему pagination_key в качестве аргумента. Чтобы сделать это, я должен был бы иметь возможность установить ExclusiveStartKey
на False
, None
или другое значение по умолчанию для первого вызова, но я ничего не нашел по этому поводу, или мне пришлось бы быть в состоянии полностью исключить ExclusiveStartKey
, но я тоже не знаю, как это сделать.