gpt4 book ai didi

java - AWS SDK Java TransferManager 限制下载大小

转载 作者:行者123 更新时间:2023-12-02 10:38:04 24 4
gpt4 key购买 nike

我目前正在通过以下代码片段将名称与 prefix_ 匹配的 S3 文件夹下载到本地 TMP_FOLDER:

    TransferManager transferManager = TransferManagerBuilder.standard().withS3Client(s3Instance).build();
MultipleFileDownload multipleFileDownload = transferManager.downloadDirectory(S3_BUCKET, "prefix_", TMP_FOLDER);
multipleFileDownload.waitForCompletion();
transferManager.shutdownNow();

问题是我的机器磁盘空间不足,因为我尝试下载的那些文件夹很大(它们包含许多微小的文本文件,但每个文件夹的大小总计可达几 GiB)。

所以,我的问题是,有没有办法限制 TransferManagerMultipleFileDownload 仅下载特定大小的数据?

理想情况下,它应该一个接一个地下载小文件,检查下一个文件是否超过预定义的限制,如果超过则停止(这将避免最后出现任何不完整的文件)

(当然,我假设没有任何文本文件本身会大于所建立的限制)

最佳答案

您可以使用getProgress().getBytesTransferredMethod()来跟踪从S3上传/下载的文件大小。当达到文件限制时,您可以暂停/中止S3传输并恢复之后。以下链接可能对您有帮助:

关于java - AWS SDK Java TransferManager 限制下载大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53129891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com