Ruby 使用aws sdk清除s3存储桶

Ruby 使用aws sdk清除s3存储桶,ruby,amazon-web-services,amazon-s3,aws-sdk,Ruby,Amazon Web Services,Amazon S3,Aws Sdk,到目前为止,我一直在使用aws/s3 gem,因此在这个项目中,我不得不切换到aws sdk gem。在aws/s3 gem中,您可以获取对bucket的引用,然后调用: bucket.clear 删除桶中的所有内容。如何使用aws sdk gem实现这一点?您可以通过在delete上添加一个扭曲来扩充该类!方法由于类在Ruby中始终是开放的,所以这非常简单 module AWS class S3 class Bucket def clear_objects!

到目前为止,我一直在使用aws/s3 gem,因此在这个项目中,我不得不切换到aws sdk gem。在aws/s3 gem中,您可以获取对bucket的引用,然后调用:

bucket.clear
删除桶中的所有内容。如何使用aws sdk gem实现这一点?

您可以通过在delete上添加一个扭曲来扩充该类!方法由于类在Ruby中始终是开放的,所以这非常简单

module AWS
  class S3
    class Bucket
      def clear_objects!
        versions.each_batch { |batch| objects.delete(batch) }
      end
    end
  end
end
您可以通过在delete上添加一个扭曲来扩充类!方法由于类在Ruby中始终是开放的,所以这非常简单

module AWS
  class S3
    class Bucket
      def clear_objects!
        versions.each_batch { |batch| objects.delete(batch) }
      end
    end
  end
end

aws sdk gem现在支持这一点

bucket#clear!

aws sdk gem现在支持这一点

bucket#clear!

您会建议在方法名称中使用“!”来表示其破坏性吗?A la
清除对象?您会建议在方法名称中使用“!”来表示其破坏性吗?A la
清除对象