2

我必须重新组织 S3 对象——基本上将它们从一个前缀移动到另一个前缀。

我通过将原始对象从源路径复制到目标路径来做到这一点。

我想保留原始对象上的原始时间戳。

我正在使用 Java sdk 来执行此任务。

我试图通过以下方式做到这一点:

        // Create a meta object to apply to the new object
        ObjectMetadata newObjectMetadata = new ObjectMetadata();

        // Next I set the lat mod date on the new meta object from the old object summary
        newObjectMetadata.setLastModified(Original_objectSummary.getLastModified());

        // Next I create a CopyObjectRequest
        CopyObjectRequest cor = new CopyObjectRequest(bucket, objectSummary.getKey(), bucket, targetKey);

        // Next I set the new object meta data on the copy request 
        cor.setNewObjectMetadata(newObjectMetadata);

但是,当创建对象时,它会将 AWS 管理控制台中看到的最后修改日期设置为创建新对象的日期。

任何帮助或澄清表示赞赏。

谢谢。

4

1 回答 1

3

当我需要这样做时,由于您指定的原因,我最终不得不将原始的 last_modified 时间戳保存为单独的 x-amz-meta- 属性。那是使用其他语言(Perl 和 Python),所以我认为这不是 Java SDK 问题。

于 2012-12-28T15:30:32.850 回答