java - 如何在java中将S3对象列表从一个文件夹移动/复制到另一个文件夹?

标签 java amazon-web-services amazon-s3

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

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;
    }

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

最佳答案

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

您需要调用 listObjectsV2() 来获取现有对象的列表,然后为每个对象调用 copyObject()

关于java - 如何在java中将S3对象列表从一个文件夹移动/复制到另一个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59188502/

相关文章:

java - 解析 Set<String> 并基于公共(public)分隔符创建新的 Set<String>

node.js - 在 AWS S3 存储桶上托管 React 应用程序时,无法使用代理重定向到 Node 服务器

amazon-web-services - $_GET 变量在我的 ec2 实例中使用 cloudfront aws 不起作用

amazon-web-services - 在 AWS、Kubernetes 上动态配置卷时出现问题

.net - FxCop 告诉我使用 .Net Uri 类是不是错了?

file-upload - s3cmd 失败太多次

java - 如何在java中将16位灰度图像转换为RGB图像?

java - 名称的正则表达式

java - 将 3rd 方库与 Maven 构建集成

amazon-web-services - 删除 S3 中无意创建的对象版本