Phi*_*l-6 5 amazon-s3 cloudflare cloudflare-r2
这不是我想要在生产中做的事情,而是我想要在开发中测试时做的事情。我希望能够从仪表板一次选择超过 25 个对象,或从 CLI 中删除所有对象。
Joe*_*ton 17
感谢 Juan Fontes 上面的评论,我尝试了这个,下面的工作成功了。
aws s3 rm s3://<bucket-name> --endpoint-url https://<cloudflare-id>.r2.cloudflarestorage.com --recursive --dryrun
Run Code Online (Sandbox Code Playgroud)
当它为您工作后,在没有--dryrun标志的情况下重新运行。
不要忘记先配置AWS CLI。
我找到了一种使用 ActiveStorage 从 Rails Console 执行此操作的方法
ActiveStorage::Blob.services.fetch(:cloudflare_user_pictures).bucket.objects.batch_delete!
Run Code Online (Sandbox Code Playgroud)
: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
Run Code Online (Sandbox Code Playgroud)