有没有办法可以使用java sdk从s3下载多个文件。我不想下载子文件,只能下载指定文件夹中的文件。
假设我有一个水桶
BucketName:
Mlearn
Keys :
staticConfig/cities.csv
staticConfig/ABC.csv
staticConfig/pwd.csv
staticConfig/Check/xyz.csv
staticConfig/Check/pqr.csv
我只需要下载cities.csv,ABC.csv和pwd.csv,不应该在子文件夹中下载Check。
我尝试使用下面的api
TransferManager tx=new TransferManager(getS3Client());
MultipleFileDownload multi=tx.downloadDirectory("Mlearn", "staticConfig", "D:/temp");
这会下载整个子文件夹。
有人请指教。
虽然我可以逐个列出并下载文件,但效率并不高。
当我使用TransFerManager计算下载逐个文件v / s下载时,TXManager所用的时间为1.6秒,而逐个为2.9秒。
因此想要逐个限制使用手动下载文件。
答案 0 :(得分:1)
TransferManager
不直接支持您想要的内容。在逐个下载时,您可以并行运行所有下载(例如,使用ExecutorService
)以减少延迟。