Очистка ведра s3 с помощью aws-sdk

До этого момента я работал с драгоценным камнем aws/s3, и для этого проекта мне пришлось переключиться на драгоценный камень aws-sdk. В геме aws/s3 вы можете получить ссылку на ведро, а затем вызвать:

bucket.clear

Чтобы удалить все в ведре. Как я могу сделать это с помощью драгоценного камня aws-sdk?


person typeoneerror    schedule 19.01.2012    source источник


Ответы (2)


Вы можете дополнить AWS:: S3::Bucket, изменив метод удаления! метод. Поскольку классы в Ruby всегда открыты, это довольно тривиально.

module AWS
  class S3
    class Bucket
      def clear_objects!
        versions.each_batch { |batch| objects.delete(batch) }
      end
    end
  end
end
person offbyjuan    schedule 19.01.2012
comment
Будет ли это тот случай, когда вы бы рекомендовали использовать ! в названии метода указать на его деструктивность? А ля clear_objects!? - person typeoneerror; 20.01.2012

Теперь это поддерживается в гем aws-sdk.

bucket#clear!
person Trevor Rowe    schedule 09.02.2012