最近被問到這個問題,需要刪除 S3 bucket 但是 bucket 裡面有大量的 Object 檔案,試問該如何快速刪除 ?!
** 官方文件「Deleting or emptying a bucket」也有提到完整的 Bucket Clear up 方法
爬了一下文,有幾個招式可以參考,其中也包括一些奇淫技巧 … 大家斟酌使用 XDDD
設定 Lifecycle rule 當 Object 過期 1 天時 Clean up
直接利用 S3 Lifecycle rule 是最省事的,在 Expiration 設定 1 days 隔天 Object 就會自動消失啦
缺點是最小的等待時間為 24 小時,
AWS Management Console 「empty」bucket
AWS 好像聽到用戶的心聲,在「How do I empty an S3 Bucket?」Console 介面上多出了 Empty 的按鈕一鍵清除,超級方便
使用 aws cli 刪除 Object
最慢,但是可以自動化,只要一行指令就搞定,爬文後看到有兩個招式:
- rm –recursive 輪巡刪除 Objects
aws s3 rm s3://mybucket --recursive
因為是一個一個 Object 刪除,光是等 API 回應可能就 … 但好像在什麼情況可以用到 ?!
- sync –delete 和「空的目錄」同步
mkdir tmp && aws s3 sync tmp/ s3://mybucket --delete
這也是一個奇招,利用空目錄同步,但速度也不怎麼樣 …
純粹記錄 …