Работа с корзиной с миллионами файлов может быть очень сложной, если в именах ваших файлов нет какой-то «структуры».К сожалению, это не поможет ни одному из инструментов GUI, поэтому вы застряли в реализации своего собственного решения.Например:
Если все ваши файлы начинаются с даты , вы можете использовать заголовок marker
в запросе Get Bucket
вернуть только файлы старше определенной даты.
Если ваши файлы расположены в «виртуальных» папках , вы можете использовать заголовки prefix
и delimiter
для обработки каждой папки отдельно.(Попробуйте сделать это параллельно, чтобы ускорить процесс)
Даже если у вас нет структуры, все не потеряно.Клиенты S3 зависают, потому что они пытаются сохранить в памяти весь список из 2 миллионов файлов.Вы можете загрузить объект, содержащий 1000 файлов одновременно, но сохранить его в файл / базу данных и т. Д. Чтобы получить все 2 миллиона, потребуется много времени, но как только вы закончите, просто переберите свой сохраненный список и загрузите, если необходимо.
Еще лучше, если вы можете «индексировать» свои файлы в базе данных по мере их добавления в S3, вы можете просто использовать это, чтобы определить, какие файлы загружать.