Восстановление алфавитного интервала с помощью boto3 - PullRequest
0 голосов
/ 06 февраля 2020

Насколько я знаю, boto3 возвращает объекты, отсортированные в алфавитном порядке по их ключам. Есть ли способ извлечь интервал из этого алфавитного порядка без извлечения всех объектов, а затем выполнить разбиение на страницы по результату?

Пример: Допустим, у меня в хранилище находятся следующие объекты:

aa/example+0+0013399841.json
ba/example+0+0013400780.json
ba/example+0+0013403134.json
cj/example+0+0013416534.json
df/example+0+0013419528.json
ef/example+0+0013420605.json

Я хотел бы иметь что-то вроде get_interval(FirstPrefix='a', LastPrefix='d'), которое бы получало объекты (или, более предпочтительно, paginator), соответствующие этим клавишам:

ba/example+0+0013400780.json
ba/example+0+0013403134.json
cj/example+0+0013416534.json
df/example+0+0013419528.json

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 07 февраля 2020

Команда list_objects_v2() имеет параметр StartAfter:

StartAfter (строка) - StartAfter - это место, где вы хотите, чтобы Amazon S3 начать список с. Amazon S3 начинает листинг после указанного ключа. StartAfter может быть любым ключом в корзине.

Однако есть способ сказать «Стоп на этом префиксе».

Обратите внимание, что поле Prefix обычно используется для указания папок / подкаталогов в сочетании с Delimiter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...