java - AWS Java SDK 传输管理器仅下载文件夹结构

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

当我尝试使用 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/

相关文章:

macos - 无法将本地奴隶连接到 AWS 上的 Jenkins 主人

amazon-web-services - 有没有一种简单的方法可以从 Amazon Redshift 迁移到 Microsoft Azure 数据仓库?

php - AWS s3 下载特定文件夹内的所有文件 - 使用 PHP SDK

amazon-web-services - 最佳实践 : AWS ftp with file processing

java - 在抽象表模型中定义 dd/mm/yyyy 字段

java - Velocity 模板 - 消息键而不是带有占位符的整个短语

java - 在不同文件中的类之间发送数据

java - stringBuilder.reverse 如何工作?

linux - AWS : SSH port timeout after changing port number

python - 使用 HDF5 格式将 pandas 数据帧写入 S3