【问题标题】:Delete S3 object with slashes in object name using REST API使用 REST API 删除对象名称中带有斜杠的 S3 对象
【发布时间】:2013-09-26 04:21:39
【问题描述】:

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

例如,我的存储桶名称是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');

在对象名称中使用斜杠是否存在已知问题?还有什么我可能遗漏的吗?

【问题讨论】:

  • 试试这个。 S3::deleteObject('wecombinate','products/images/image1.png');
  • @IqbalMalik 是的,我就是这样做的......
  • 此链接可能包含您需要的信息。 docs.aws.amazon.com/AmazonS3/latest/dev/…
  • @IqbalMalik 感谢您的链接。我已经阅读了亚马逊文档,不幸的是没有发现任何与我的问题相关的内容。
  • 尝试使用前导斜杠:$s3->deleteObject('wecombinate', '/products/images/image1.png'),看看是否有任何改变。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-04-16
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2020-01-17
    • 1970-01-01
    • 2012-05-08
    相关资源
    最近更新 更多