使用REST API使用对象名称中的斜杠删除S3对象

时间:2013-09-25 15:58:48

标签: php rest amazon-web-services amazon-s3

我在删除其中一个使用对象名称中的斜杠来帮助组织的桶中的对象时遇到了问题。

例如,我的广告管理名称为wecombinate,我的对象名称为products/images/image1.png

当我尝试删除时,我得到“[BucketNotEmpty]您尝试删除的存储桶不为空”,好像我正在尝试删除整个存储桶,我不是,我正在使用DELETE对象REST API请求删除单个项目products/images/image1.png

我正在使用流行的https://github.com/tpyo/amazon-s3-php-class PHP类来管理S3,代码似乎没问题,而且GitHub上没有报告任何问题。

执行删除的代码:

$s3->deleteObject('wecombinate', 'products/images/image1.png');

在对象名称中使用斜杠是否存在已知问题?我可能遗失的任何其他事情?

1 个答案:

答案 0 :(得分:1)

您需要在键上添加一个前导斜杠才能使其正常工作:

$s3->deleteObject('wecombinate', '/products/images/image1.png')