В настоящее время я загружаю папки S3, имя которых совпадает с prefix_ в локальный TMP_FOLDER через следующий фрагмент кода:
TransferManager transferManager = TransferManagerBuilder.standard().withS3Client(s3Instance).build();
MultipleFileDownload multipleFileDownload = transferManager.downloadDirectory(S3_BUCKET, "prefix_", TMP_FOLDER);
multipleFileDownload.waitForCompletion();
transferManager.shutdownNow();
Проблема в том, что моей машине не хватает места на диске, потому что те папки, которые я пытаюсь загрузить, огромны (они содержат много крошечных текстовых файлов, но в сумме размер каждой из папок составляет несколько ГБ).
Итак, мой вопрос, есть ли способ ограничить TransferManager
или MultipleFileDownload
только загрузкой данных определенного размера?
В идеале он должен загружать крошечные файлы один за другим, проверяя, превышает ли следующий файл установленный лимит для следующего файла, останавливается ли он (это позволит избежать неполного файла в конце)
(Конечно, я предполагаю, что ни один из текстовых файлов сам по себе не будет больше установленного предела)