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

Java 更改S3对象上的元数据(上次修改),java,amazon-web-services,amazon-s3,Java,Amazon Web Services,Amazon S3,我必须重新组织S3对象——基本上是将它们从一个前缀移动到另一个前缀 我通过将原始对象从源路径复制到目标路径来实现这一点 我想保留原始对象上的原始时间戳 我正在使用JavaSDK来执行此任务 我正试图通过以下方式做到这一点: // Create a meta object to apply to the new object ObjectMetadata newObjectMetadata = new ObjectMetadata(); // Ne

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

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

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

我正在使用JavaSDK来执行此任务

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

        // 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管理控制台中显示的上次修改日期设置为新对象的创建日期

感谢您的帮助或澄清


谢谢。

当我需要这样做时,出于您指定的原因,我不得不将原始的上次修改时间戳保存为单独的x-amz-meta-属性。这是在使用其他语言(Perl和Python),因此我认为这不是Java SDK的问题。

我在使用s3cmd和Java SDK时看到了这一点:(