删除在Key中使用不可打印字符创建的S3对象?

时间:2013-10-09 12:30:02

标签: php sdk amazon-s3

在使用AWS PHP SDK(v2)时,我意外地创建了一堆附加了“\ r \ n”的对象。我可以在AWS控制台,S3浏览器和Cloudberry Explorer中看到这些对象。浏览器将文件扩展名显示为例如JPG%0D%0A。所有通过这些工具删除这些对象的尝试都失败了。

我可以成功列出对象:     $objects = $s3->getIterator('ListObjects', array('Bucket' => $bucket));

将返回的对象传递给

$result = $s3->deleteObject(array(
        'Bucket' => $bucket,
        'Key'    => $object['Key']"
        ));

不删除它们,似乎没有有意义的错误消息。

是否有人知道删除具有不可打印字符的对象的任何其他方法(通过versionid)?或者甚至是如何打印出$ result的样本?

请保持温柔。我是PHP n00b。 :)

1 个答案:

答案 0 :(得分:1)

虽然不是直接解决方案,但我最终将存储桶的生命周期设置为一天,这很有效。不是很优雅,但至少已经解决了。

关于为什么您可以创建具有不可打印字符但无法删除它们的键的问题仍然存在。