查找 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