小编Tyr*_*son的帖子

Amazon S3 Java SDK:从S3到S3的递归复制

使用Java SDK for AWS S3,我需要将一个s3前缀下的每个对象复制到另一个s3前缀,以便这里的文件位于$prefix_1:

$prefix_1/key_remainder_1
$prefix_1/key_remainder_2
$prefix_1/key_remainder_3
Run Code Online (Sandbox Code Playgroud)

被复制到$prefix_2,因此看起来像:

$prefix_2/key_remainder_1
$prefix_2/key_remainder_2
$prefix_2/key_remainder_3
Run Code Online (Sandbox Code Playgroud)

使用aws cli,我可以aws s3 sync $bucket/$prefix1 $bucket/$prefix2用来完成这个操作.从一目了然,sync基本上是一个LIST,然后是一堆生成的COPY.但是,java sdk似乎不支持sync将文件从一个前缀复制到另一个前缀的一次性方法(即单个命令/方法).

无论出于何种原因,TransferManager可以在s3和磁盘之间进行批量复制,但不能在s3和s3之间进行批量复制.

显然,我要么必须这样做

  1. 显式地LIST说明前缀下的所有对象,然后运行一堆单独的COPYs
  2. 用于TransferManager首先从源前缀下载到磁盘的所有内容,然后将本地目录上载到目标前缀.

我错过了什么吗?有没有办法使用java SDK获得我想要的东西?

java copy amazon-s3

5
推荐指数
0
解决办法
742
查看次数

标签 统计

amazon-s3 ×1

copy ×1

java ×1