如何使用aws s3 sdk复制多个文件

flvlnr44  于 2021-07-04  发布在  Java
关注(0)|答案(1)|浏览(456)

我想使用awss3sdkjava将多个文件从一个文件夹复制到另一个文件夹。我可以看到copyobject()方法是为单个文件提供的。下面是文档中提供的代码。

CopyObjectRequest copyObjectRequest = new CopyObjectRequest(getBucketName(),
    "srcFolderName" + "/" + key, getBucketName(), "targetFolderName" + "/" + key);
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentDisposition("attachment");
copyObjectRequest.setNewObjectMetadata(metadata);
getS3Client().copyObject(copyObjectRequest);

如何给出多个文件的路径?
例如:来源
a/srcfoldername/123/file.txt文件
a/srcfoldername/456/file.txt文件
a/srcfoldername/789/file.txt文件
a/srcfoldername/112/file.txt文件
a/srcfoldername/101/file.txt文件
需要复制的文件是1、2、5。
复制后
a/targetfoldername/123/file.txt
a/targetfoldername/456/file.txt文件
a/targetfoldername/101/file.txt文件

nue99wik

nue99wik1#

不能用一个api调用复制多个对象。
这个 CopyObject api调用将只复制一个对象。
但是,您可以通过多个线程发出多个api调用,以便并行地完成操作。

相关问题