S3 快速刪除大量 Object 的方法

2020-06-08 AWS

最近被問到這個問題,需要刪除 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

這也是一個奇招,利用空目錄同步,但速度也不怎麼樣 …

純粹記錄 …

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱