繁体   English   中英

将Amazon s3对象复制到另一个存储桶中的另一个文件夹。

[英]Copy an Amazon s3 object to another folder in another bucket.

我想将存储桶中的所有数据复制到amazon s3上另一个存储桶中的另一个目录中。

像我有一个水桶名sourceBucketdestBucket并且在destBucket另一个目录。 我想将所有数据从sourceBucket复制到该目录。 我正在使用java。 我无法找到解决方案

试试:

ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()
                                .withBucketName(bucketName)
                                .withPrefix(""));

for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {s3client.copyObject(sourceBucketName, objectSummary.getKey(), 
                    destinationBucketName, objectSummary.getKey());}

s3没有文件夹。 你看到的“结构”是关键。 所以只需用适当的密钥复制对象即可。 来自程序员指南:代码示例

S3Object[] filteredObjects = s3Service.listObjects("sourceBucket", "appData/", null);
for(S3Object object: filteredObjects ){
    s3Service.copyObject("sourceBucket", "newAppData/" + object.getKey().substring(object.getKey().indexOf("/"), "destBucket", object, false);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM