当我尝试使用 KeyPrefix 从 S3 下载特定文件夹的所有文件时,它仅下载目录结构,而不下载其中的文件。
下面是代码 TransferManager xfer_mgr = TransferManagerBuilder.standard().build();
File a = new File("./");
try {
GetObjectRequest gor = new GetObjectRequest(bucketName, "folder3");
MultipleFileDownload xfer = xfer_mgr.downloadDirectory(
bucketName, null, a);
} catch (AmazonServiceException e) {
System.err.println(e.getErrorMessage());
System.exit(1);
}
System.out.println("done...............");
xfer_mgr.shutdownNow();
我是否遗漏了代码中的任何内容,或者必须添加任何权限? 任何建议都会非常有帮助。
最佳答案
解决了。 传输管理器首先下载文件夹结构,然后下载其中的所有文件。
所以解决方案是: 使 MultipleFileDownload xfer 为“waitForCompletion”。
添加一行 xfer.waitForCompletion() 解决了问题。
关于java - AWS Java SDK 传输管理器仅下载文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54377178/