我想使用 java 将存储桶上的所有数据复制到亚马逊 s3 上另一个存储桶中的另一个目录。
就像我有一个存储桶名称sourceBucket和一个destBucket ,并且在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);
}