2015-06-30 94 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

原来你在钥匙开头没有'/',我没有意识到,不确定为什么它在那里,但它是搞砸了钥匙。