You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS S3 JavaScript SDK V3调用DeleteObjectCommand返回204但未删除对象

可能的问题排查方向
  • Key路径大小写不匹配:S3对象Key是大小写敏感的,确认你传入的path和实际对象的Key完全一致(包括大小写、斜杠分隔符)。例如实际Key为Assets/Report.pdf,若传入assets/report.pdf,会导致请求返回204但未找到目标对象,自然不会删除。

  • 存储桶开启了版本控制:若你的S3桶启用了版本控制,DeleteObjectCommand只会添加一个删除标记(Delete Marker),原对象仍保留在桶中。此时用ListObjectsV2Command默认返回当前版本(即删除标记),但添加Versions: true参数就能看到原对象和删除标记。这种情况需使用DeleteObjectVersionCommand删除指定版本,或关闭版本控制后再执行删除。

  • 存储桶参数错误:检查MY_S3BUCKET常量是否指向正确的存储桶,确认桶名、区域均无错误。比如误操作了同名称但不同区域的桶,会出现返回204但目标对象未被操作的情况。

  • 对象是未完成的分段上传:如果目标对象是通过分段上传创建但未完成的,DeleteObjectCommand无法删除这类对象。需使用AbortMultipartUploadCommand清理未完成的分段任务,可先用ListMultipartUploadsCommand排查是否存在此类上传。

内容的提问来源于stack exchange,提问作者chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:50:05