更改S3对象上的元数据(上次修改)

时间:2012-12-28 14:58:37

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

我必须重新组织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管理控制台中所示,设置为新对象的创建日期。

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

感谢。

1 个答案:

答案 0 :(得分:3)

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