S3从特定文件夹下载

时间:2016-05-14 11:35:16

标签: amazon-web-services amazon-s3

我的s3存储桶中有两个文件夹。 如何仅从bucket_one下载所有文件。

这是我用来从存储桶下载的代码。 现在我想从该存储桶中的文件夹下载。

GetObjectRequest request = new GetObjectRequest(BucketName(),KeyName());
       S3Object object = s3Client.getObject(request);
       S3ObjectInputStream objectContent = object.getObjectContent();
       IOUtils.copy(objectContent, new FileOutputStream(System.getProperty("user.home")+"//downloads//"+KeyName()));

由于

2 个答案:

答案 0 :(得分:3)

只需指出相关文件夹的完整路径

即可

将您的BucketName()方法更改为folderName() bucketName() + "/" + <yourfolder> + "/"

“/”最后很重要,否则S3会在你的存储桶根文件夹中搜索一个文件

您可以使用相同的内容深入了解文件夹结构:bucketName() + "/" + <folder1> + "/" + <folder2> + "/"

答案 1 :(得分:0)

Frederic Henri提供的上述答案是正确的,但如果/是最后一个文件夹.ie,如果目录是yourFolder,则不应包括<yourBucket>/<lvlOne>/<lvlTwo>/,然后在文件夹的末尾lvlTwo,您不应包含\

您可以list特定文件夹存储桶中的所有文件并单独下载,或者您可以在MultipleFileDownload interface处获取战利品 在TransferManager