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

如何使用AWS CLI永久删除S3中的对象?

AWS CLI实现S3对象永久删除(跳过删除标记)

当S3桶开启版本控制时,常规的aws s3 rm命令只会给对象添加删除标记(Delete Marker),并不会真正删除对象的实际版本。通过AWS CLI可以实现永久删除,具体操作如下:

1. 查看对象版本与删除标记

先确认目标对象的版本ID或删除标记信息,执行命令:

aws s3api list-object-versions --bucket your-bucket-name

该命令会返回桶内所有对象的版本记录、对应版本ID,以及已存在的删除标记。

2. 永久删除单个对象版本

指定对象的Key和版本ID,直接删除对应版本:

aws s3api delete-object --bucket your-bucket-name --key "target-object-key" --version-id specific-version-id

注意:必须携带--version-id参数,否则只会生成删除标记而非永久删除。

3. 批量永久删除多个对象

准备一个JSON配置文件(例如delete-config.json),列出要删除的对象及对应版本ID:

{
  "Objects": [
    {"Key": "object-1.txt", "VersionId": "v1.xxxxxx"},
    {"Key": "object-2.jpg", "VersionId": "v2.xxxxxx"}
  ],
  "Quiet": false
}

执行批量删除命令:

aws s3api delete-objects --bucket your-bucket-name --delete file://delete-config.json
  • Quiet: false会返回每个对象的删除结果;设为true则不返回详情
  • 若要永久删除已有的删除标记,只需将删除标记的VersionID填入JSON即可

4. 开启MFA删除的场景

如果桶启用了MFA删除,删除时需额外携带MFA认证信息:

aws s3api delete-object --bucket your-bucket-name --key "target-object-key" --version-id specific-version-id --mfa "arn:aws:iam::123456789012:mfa/your-mfa-device 123456"

替换其中的MFA设备ARN和验证码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 08:30:46