Как получить список объектов из корзины s3, отсортированных по отметке времени последнего изменения, с помощью API minio-go?

Я просмотрел документацию minio-go-api. Но не получил никакого решения для этого, так как объекты сортируются в алфавитном порядке.

Хак-способ будет заключаться в том, чтобы сначала прочитать все объекты, а затем взять дату последнего изменения из каждого объекта и сформировать новый список, что совершенно невозможно для производства.


person Siddhanta Rath    schedule 16.11.2018    source источник


Ответы (2)


@Siddhanta Rath, один из способов справиться с этим - использовать инструмент mc. Команды mc find --newer и mc find --older обработают это. Но внутри он сделает listObjects и выполнит сортировку за вас.

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

person r1j1m1n1    schedule 11.12.2018

В Amazon S3 API нет возможности указать порядок сортировки. Ваше приложение должно будет отсортировать объекты в нужном порядке.

person John Rotenstein    schedule 16.11.2018
comment
В корзине 2 миллиона записей, и требуется получить список записей за определенный период. Разумно ли перебирать 2 миллиона записей, чтобы получить желаемые результаты? - person Siddhanta Rath; 16.11.2018
comment
Вы можете предпочесть использовать Amazon S3 Inventory — Amazon Simple Storage Service, который может предоставить ежедневный список всех объектов в корзине. - person John Rotenstein; 16.11.2018
comment
На самом деле, мы используем самостоятельный сервер minio на нашем производстве, а не amazon s3. Я не думаю, что я могу использовать это :( - person Siddhanta Rath; 16.11.2018
comment
Ах! Правильный. Вы можете спросить Minio, есть ли у них дополнительные функции, которые могут вам помочь. - person John Rotenstein; 16.11.2018