2017-01-23 172 views
9

我有一個100%空的S3存儲桶。版本控制從未在存儲桶中啓用。但是,我仍然無法移除存儲桶。我通過控制檯和CLI工具嘗試過。在控制檯上它只是說「錯誤」,沒有錯誤信息。從cli和api它告訴我:「調用DeleteBucket操作時發生錯誤(BucketNotEmpty):您試圖刪除的存儲桶不是空的」。我已經嘗試了所有的以下內容:無法刪除空S3存儲桶

aws s3 rb s3://<bucket_name> --force - > BucketNotEmpty

aws s3 rm s3://<bucket_name> --recursive - >沒有輸出(因爲它已經空)

aws s3api list-object-versions --bucket <bucket_name> - >沒有輸出(因爲歷史版本從未啓用)

aws s3api list-multipart-uploads --bucket <bucket_name> - >無輸出

aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name> - >沒有輸出(因爲它是空的)

  • 它沒有依賴關係(它不用於cloudfront或我知道的其他任何東西)。
  • 桶已空約5天。
  • 我能夠用相同的IAM用戶刪除另一個非常相似的存儲桶。另外,我的IAM用戶擁有管理員權限。
+0

它空了多久? – Alden

+0

已經空了大約五天@Alden –

+1

我會用AWS支持打開一張票 –

回答

3

我有一個類似的問題,並能夠在等待過夜後刪除存儲桶。 這是一個非常薄弱的​​解決方案,但可能會節省您和其他一些時間的衝擊。

如果在註釋中的所有操作之後它仍然沒有被刪除,有些事情只有AWS支持可以正確解決。再次弱弱的答案,但註冊與AWS支持票,然後發佈他們的答覆在這裏作爲其他人的答案。

3

這是爲我工作的。我沒有在存儲桶上啓用版本控制。當您從s3存儲桶中刪除一個對象時,它會在該對象上放置一個「刪除標記」並將其從列表中隱藏起來。當你點擊'顯示'版本按鈕時,你會看到你刪除的對象與刪除標記。選擇此對象(使用刪除標記)並再次刪除。這是一個永久刪除。現在你的目標真的消失了,你的水桶真的是空的。在此之後,我可以刪除我的存儲桶。

我想,versioning = true只意味着如果您上傳的是相同的名稱,s3會創建該對象的版本。

1

有時在嘗試刪除存儲桶後,它並未實際刪除,但權限已丟失。

就我而言,我去了「權限」選項卡,再授予的權限給自己,然後可以將其刪除

3

我面臨同樣的問題。我可以通過進入存儲桶並刪除存儲桶的「存儲桶策略」來解決問題。之後,刪除存儲桶正常工作。

我通過AWS控制檯爲Elastic Beanstalk創建的S3存儲桶(即elasticbeanstalk-us-west-2-861587641234)執行了此操作。我想象創建腳本包含一個策略,以便用戶不會意外刪除存儲桶。