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 に答える