2014-09-13 73 views
1

我負責清理我們S3存儲桶中未引用的圖像,並發現我們已打開版本控制。使用PHP SDK刪除亞馬遜S3中的版本化文件

我們正在使用PHP DSK(版本'2006-03-01'),其中according to the documentation似乎並不直接支持刪除特定文件的所有版本。

我的問題是這樣的:

什麼是去使用在AWS PHP SDK提供給我的方法的S3鬥刪除版本的文件的正確方法?

潛在的,我想用listObjectVersions(),然後運行每一筆的刪除,但我不是100%,將工作。

任何幫助表示讚賞。

回答

2

如上所述,您需要獲取所有對象版本的列表,並確定要刪除哪些對象。然後,您可以使用單個API調用一次刪除多個版本(最多1000個),而不是逐個刪除每個版本。

有關更多詳細信息,請參見Delete Multiple ObjectsDeleting Multiple Objects Using the AWS SDK for PHP

不要試圖混合列表&刪除操作(列出1000個版本,刪除1000,再次列表,再次刪除...),因爲S3最終的一致性模型會導致奇怪的結果。

+0

感謝您的回覆。這聽起來是正確的。我會給你一個機會,看看它是否有效! – tdlm 2014-09-13 20:36:22