查找 delete_marker 的替换问题?将 aws-sdk gem 升级到版本 2 时
Issue finding replacement for delete_marker? while upgrading aws-sdk gem to version 2
我一直在尝试从 'aws-sdk-v1' 升级到 'aws-sdk'(aws sdk 版本 2 的 gem)。
对于版本 1,此代码块有效:
AWS::S3.new.buckets['bucket-name'].versions.each do |version|
if version.delete_marker?
version.delete
end
end
对于版本 2 的 sdk,我找不到等同于 delete_marker?
:
Aws::S3::Resource.new.bucket('bucket-name').object_versions.each do |version|
if version.SOMETHING_ELSE
version.delete
end
end
另请注意,对于版本 2,我将 versions
切换为 object_versions
,我 认为 是正确的更改。
我在他们的 CHANGELOG
中挖掘 gem 时发现了这个
Feature - Aws::S3 - · You can now use the Expired object delete
markers expiration policy to automatically remove the current version
delete marker when previous versions of the object no longer exist.
所以我怀疑 v2
中是否有 delete_marker?
的替代方案
有关详细信息,请参阅 HERE。
由于找不到更好的程序化解决方案,我最终选择了 version.class == Aws::S3::Types::DeleteMarkerEntry
。
我一直在尝试从 'aws-sdk-v1' 升级到 'aws-sdk'(aws sdk 版本 2 的 gem)。 对于版本 1,此代码块有效:
AWS::S3.new.buckets['bucket-name'].versions.each do |version|
if version.delete_marker?
version.delete
end
end
对于版本 2 的 sdk,我找不到等同于 delete_marker?
:
Aws::S3::Resource.new.bucket('bucket-name').object_versions.each do |version|
if version.SOMETHING_ELSE
version.delete
end
end
另请注意,对于版本 2,我将 versions
切换为 object_versions
,我 认为 是正确的更改。
我在他们的 CHANGELOG
中挖掘 gem 时发现了这个Feature - Aws::S3 - · You can now use the Expired object delete markers expiration policy to automatically remove the current version delete marker when previous versions of the object no longer exist.
所以我怀疑 v2
中是否有delete_marker?
的替代方案
有关详细信息,请参阅 HERE。
由于找不到更好的程序化解决方案,我最终选择了 version.class == Aws::S3::Types::DeleteMarkerEntry
。