2015-06-30 92 views
-1

我正在使用aws sdk從一個存儲桶中刪除一個對象(或多個對象),問題是不存在的鍵仍然會被視爲已成功刪除, SDK會提示密鑰不存在的錯誤?ruby​​ aws sdk s3刪除文件夾中的對象

另一個問題是與存在的鍵相對應的對象沒有被刪除,而是在成功刪除時返回。

編輯:

第二個問題僅似乎是當要被刪除的對象是文件夾內,在根它被刪除細。

+1

你能提供代碼嗎? – Mircea

+0

沒關係,設法找出問題所在。 – Thermatix

回答

0

即使目標對象不存在,Amazon S3的DELETE對象操作也有意返回200 OK。這是因爲它在設計上是冪等的。因此,在相同的情況下,aws-sdk gem將返回成功的響應。

快速澄清正斜槓。您可以在您的密鑰的開頭有任意數量的'/'字符,但具有前面的'/'的對象與沒有的對象不同。例如:

# public urls for two different objects 
http://bucket-name.s3-amazonaws.com/key 
http://bucket-name.s3-amazonaws.com//key 

只要您選擇是否使用斜線一致即可。

-1

原來你在鑰匙開頭沒有'/',我沒有意識到,不確定爲什麼它在那裏,但它是搞砸了鑰匙。