我最近才开始使用 S3。我不小心制作了一个包含错误字符的 key ,现在我无法列出该文件夹的内容,也无法删除该错误 key 。 (我已经添加了检查以确保我不再这样做)。
我最初使用的是 2008 年的旧“S3”python 模块。现在我已经切换到boto-2.0,我仍然无法删除它。我在网上做了很多研究,似乎问题是我有一个无效的 XML 字符,所以这似乎是最低级别的问题,到目前为止还没有 API 有帮助。
我终于联系了亚马逊,他们说要使用来自 http://aws.amazon.com/code/128 的“s3-curl.pl” .我下载了它,这是我的 key :
<Key>info/[01</Key>
我想我当时正在对一些文件进行快速 bash for 循环,并且我设置了“lscolors”,所以这发生了。
我试过
./s3curl.pl --id <myID> --key <myKEY> -- -X DELETE https://mybucket.s3.amazonaws.com/info/[01
(并且还尝试将 URL 放在单引号/双引号中,并且还尝试转义 '[')。
URL 上没有引号,它会挂起。带引号,我得到“ curl :(3)[globbing]错误:pos 50之后的错误范围规范”。我编辑了 s3-curl.pl 来做
curl --globoff
仍然得到这个错误。我将不胜感激任何帮助。
最佳答案
这解决了问题,只需删除主文件夹:
aws s3 rm "s3://BUCKET_NAME/folder/folder" --recursive
关于amazon-web-services - 无法删除包含错误字符的 Amazon S3 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8319594/