0

在使用 AWS PHP SDK (v2) 时,我不小心创建了一堆附加了“\r\n”的对象。我可以在 AWS 控制台、S3 Browser 和 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。:)

4

1 回答 1

1

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

关于为什么您可以创建带有不可打印字符但不能删除它们的密钥的问题仍然存在。

于 2013-10-10T01:42:42.923 回答