【问题标题】:How can we download multiple files without folder from S3 bucket using Java SDK我们如何使用 Java SDK 从 S3 存储桶下载多个没有文件夹的文件
【发布时间】:2018-03-25 01:14:17
【问题描述】:

有没有一种方法可以让我使用 java sdk 从 s3 下载多个文件。我不想下载子文件夹,只下载指定文件夹中的文件。

假设我有一个桶

BucketName: 
       Mlearn 

Keys : 
       staticConfig/cities.csv 
       staticConfig/ABC.csv 
       staticConfig/pwd.csv 
       staticConfig/Check/xyz.csv 
       staticConfig/Check/pqr.csv 

我只需要下载 city.csv、ABC.csv 和 pwd.csv 什么都不应该在子文件夹 Check 中下载。

我尝试使用下面的 api

TransferManager tx=new TransferManager(getS3Client());

MultipleFileDownload multi=tx.downloadDirectory("Mlearn", "staticConfig", "D:/temp");

这也会下载整个子文件夹 Check 。

有人可以请教。

虽然我可以列出和下载一个一个文件,但效率不高。

当我计算一个一个文件下载与使用 TransFerManager 下载文件时,TXManager 花费的时间是 1.6 秒,而一个一个是 2.9 秒。

因此要限制使用手动下载文件一个一个。

【问题讨论】:

    标签: java amazon-web-services amazon-s3


    【解决方案1】:

    TransferManager 不直接支持你想要的。在逐个下载时,您可以并行运行所有下载(例如,使用ExecutorService)以减少延迟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-20
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多