如何使用AWS TransferManager以ZIP格式从S3下载多个文件

时间:2018-06-21 03:39:30

标签: amazon-web-services amazon-s3 aws-sdk

我想将AWS目录下载为ZIP。目前,我正在使用下面的Java代码从目录下载多个文件。

public static void downloadDir(String bucket_name, String key_prefix,
      String dir_path, boolean pause)
{
    System.out.println("downloading to directory: " + dir_path +
          (pause ?  " (pause)" : ""));

    TransferManager xfer_mgr = TransferManagerBuilder.standard().build();

    try {
        MultipleFileDownload xfer = xfer_mgr.downloadDirectory(
                bucket_name, key_prefix, new File(dir_path));
        // loop with Transfer.isDone()
        XferMgrProgress.showTransferProgress(xfer);
        // or block with Transfer.waitForCompletion()
        XferMgrProgress.waitForCompletion(xfer);

    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
    xfer_mgr.shutdownNow();
}

是否可以将目录下载为ZIP?

1 个答案:

答案 0 :(得分:0)

无法使用标准AWS开发工具包。

您可以对下载的文件夹进行后处理,以编程方式对其进行压缩,也可以将S3文件的格式更改为已压缩。