Cloudflare R2-从bucket中删除所有对象



有没有一种简单的方法可以从Cloudflare R2存储桶中删除所有对象

这不是我想在生产中做的事情,而是我想在开发中测试时做的事情。我希望能够一次从仪表板中选择25个以上的对象,或者从CLI中删除所有对象。

感谢Juan Fontes在上面的评论,我尝试了一下,下面的操作成功了。

aws s3 rm s3://<bucket-name> --endpoint-url https://<cloudflare-id>.r2.cloudflarestorage.com --recursive --dryrun

在它为您工作之后,在不使用--dryrun标志的情况下重新运行。

不要忘记先配置AWS CLI。

我在Rails控制台中找到了一种使用ActiveStorage 的方法

ActiveStorage::Blob.services.fetch(:cloudflare_user_pictures).bucket.objects.batch_delete!

其中:cloudflare_user_pictures是您的服务名称。

我在测试套件的最后运行这个程序,从cloudflare上的测试桶中删除所有图片:

Minitest.after_run do
ActiveStorage::Blob.services.fetch(:cloudflare_user_pictures).bucket.objects.batch_delete!
ActiveStorage::Blob.services.fetch(:cloudflare_chat_message_attachments).bucket.objects.batch_delete!
end

最新更新