【问题标题】:How to move/copy list of S3 Objects from one folder to folder in java?java - 如何在java中将S3对象列表从一个文件夹移动/复制到文件夹?
【发布时间】:2019-12-05 14:37:55
【问题描述】:

我想将 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;
    }

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

【问题讨论】:

  • 你测试它的时候做了什么?你遇到了什么错误?
  • 此代码适用于单个对象。它工作正常。我在修改多个对象的代码时遇到了麻烦。
  • 一定要删除原来的对象吗?
  • 在这里查看答案:stackoverflow.com/questions/56970836

标签: java amazon-web-services amazon-s3


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-02-10
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 2019-09-02
    • 2022-06-10
    • 2019-10-09
    相关资源
    最近更新 更多