2017-01-06 11 views
1

Ruby用AWS SDKのバージョン1からバージョン2に移行しようとしていますが、私はS3オブジェクトのバージョン管理に悩まされています。S3オブジェクトのすべてのバージョンを取得しています

あなただけの、そのオブジェクトのすべてのバージョンを取得することができ、APIのバージョン1でのS3オブジェクトへの参照を考える:http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html

http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/S3Object.html#versions-instance_method

は、しかし、APIのバージョン2は、この機能を複製していないようです

何か不足していますか?

+0

私はバケットAPIを使うことができるようです:_bucket.object_versions(:prefix => 'key')。each {| version | ...} _それは本当にV2を使用する唯一の方法ですか? –

答えて

0

私はあなたが正しいと思います。この機能はV2 APIにはありません。あなたの唯一の選択肢はbucket.object_versionsまたはclient.list_object_versionsです。

次のようなバケットからS3オブジェクトのすべてのバージョンを取得することができます。私はRubyのSDKは、この変更は、より良いversionsがあるS3 REST APIを反映するためになされたことをを推測

# Retrieve Collection<ObjectVersion> 
Aws::S3::Bucket.new('bucket-name') 
    .object_versions(prefix: 'object-key') 
    .reject { |version| version.key != 'object-key' } 

独自のサブリソースとオブジェクトには、独自のバージョン履歴についての知識はありません。

関連する問題