2017-01-06 104 views
1

我正在從版本1的AWS SDK for Ruby轉換到版本2.但是我遇到了S3對象版本控制的問題。檢索S3對象的所有版本

鑑於第1版到S3對象的引用的API,你可以只檢索該對象的所有版本:http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/S3Object.html#versions-instance_method

然而,API的版本2似乎並沒有複製此功能:http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html

我錯過了什麼嗎?

+0

所以它看起來像我可以使用桶API:_bucket.object_versions(:prefix =>'key')。each {| version | ...} _這真的是使用V2的唯一方法嗎? –

回答

0

我認爲你是正確的,而V2 API中缺少這個功能。我相信你唯一的選擇是bucket.object_versionsclient.list_object_versions

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

了Ruby的SDK做出這種改變,以更好地反映S3 REST API,其中versions是:

您可以從桶裏這樣檢索S3對象的所有版本它自己的子資源和對象沒有任何關於它們自己的版本歷史的知識。

相關問題