如何使用aws s3 sdk复制多个文件
How to copy multiple files using aws s3 sdk
我想使用 aws s3 sdk java 将多个文件从一个文件夹复制到另一个文件夹。我可以看到提供的方法 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
您不能通过一次 API 调用复制多个对象。
CopyObject
API调用只会复制一个对象。
但是,您可以通过 多线程 发出多个 API 调用,以便并行完成操作。
我想使用 aws s3 sdk java 将多个文件从一个文件夹复制到另一个文件夹。我可以看到提供的方法 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
您不能通过一次 API 调用复制多个对象。
CopyObject
API调用只会复制一个对象。
但是,您可以通过 多线程 发出多个 API 调用,以便并行完成操作。