首页 > 解决方案 > java - 如何在java中将S3对象列表从一个文件夹移动/复制到文件夹?

问题描述

我想将 S3 对象列表(给定文件夹中的所有 S3 对象)从一个文件夹复制/移动到同一个存储桶中的另一个文件夹。我可以为 on object 编写代码,如下所示。

public static S3Response copySingleFile(S3Request s3Request) {
        S3Validation.validateCopyMoveArgs(s3Request);
        CopyObjectRequest copyObjectRequest=new CopyObjectRequest(s3Request.getBucketName(), s3Request.getSourcekey(), s3Request.getBucketName(), s3Request.getDestKey());
        AWSClient.getS3Client().copyObject(copyObjectRequest);
        return response;
    }

我认为应该通过制作该给定文件夹的对象列表并将列表复制到目的地来完成。我希望逻辑是这样,但我在编码部分遇到了麻烦。

标签: javaamazon-web-servicesamazon-s3

解决方案


对 Amazon S3的copyObject()API 调用只允许复制一个对象。您将需要遍历对象列表并单独复制每个对象。

您将需要listObjectsV2()调用来获取现有对象的列表,然后调用copyObject()它们中的每一个。


推荐阅读