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

如何在启用版本控制的AWS S3桶中永久删除指定目录?

彻底删除启用版本控制的S3桶中指定文件夹(含所有版本/删除标记)

一、AWS 控制台操作(优先推荐)

针对启用版本控制的桶,需通过批量选择所有版本和删除标记实现彻底删除:

  • 登录S3控制台,进入目标存储桶。
  • 开启顶部工具栏的显示版本和显示删除标记选项。
  • 在搜索框输入目标文件夹的完整前缀(必须带末尾斜杠,例如foo/),筛选出该目录下的所有对象版本、删除标记。
  • 点击顶部的全选按钮(若结果分页,需确保选中所有分页内容)。
  • 点击删除按钮,在确认弹窗中勾选「我确认要永久删除这些对象版本和删除标记」,完成删除。

二、AWS CLI 优雅实现

用CLI组合命令实现批量删除,替代繁琐的脚本:

# 替换your-bucket-name和foo/为实际桶名和目标文件夹前缀
aws s3api list-object-versions --bucket your-bucket-name --prefix "foo/" | \
jq -r '.Versions + .DeleteMarks | .[] | {Key: .Key, VersionId: .VersionId}' | \
jq -s '{"Objects": .}' | \
aws s3api delete-objects --bucket your-bucket-name --delete file:///dev/stdin

命令说明:

  1. list-object-versions:列出指定前缀下的所有对象版本和删除标记。
  2. 第一个jq:提取每个条目对应的Key和VersionId。
  3. 第二个jq:将条目格式化为delete-objects接口要求的JSON结构。
  4. delete-objects:批量提交删除请求,永久删除所有选中的版本和标记。

注意:若对象数量极多(超过1000个),需结合分页参数--max-items和--starting-token循环处理,确保无遗漏。

三、Boto3 脚本实现

若需要程序化处理,用Python Boto3编写简洁的批量删除脚本:

import boto3

def delete_s3_folder_permanently(bucket_name, prefix):
    s3 = boto3.client('s3')
    paginator = s3.get_paginator('list_object_versions')
    response_iterator = paginator.paginate(Bucket=bucket_name, Prefix=prefix)

    for page in response_iterator:
        delete_batch = []
        # 收集所有对象版本
        if 'Versions' in page:
            delete_batch.extend([{'Key': v['Key'], 'VersionId': v['VersionId']} for v in page['Versions']])
        # 收集所有删除标记
        if 'DeleteMarks' in page:
            delete_batch.extend([{'Key': m['Key'], 'VersionId': m['VersionId']} for m in page['DeleteMarks']])
        # 批量删除
        if delete_batch:
            s3.delete_objects(Bucket=bucket_name, Delete={'Objects': delete_batch})

# 调用示例
delete_s3_folder_permanently('your-bucket-name', 'foo/')

关键注意事项

  • 前缀必须带末尾斜杠(如foo/),避免误删名称包含该前缀的其他目录(例如foo-bar/)。
  • 操作前建议先单独执行list-object-versions命令,核对要删除的内容,避免误操作。
  • 确保执行操作的IAM身份拥有s3:ListBucketVersions、s3:DeleteObjectVersion、s3:DeleteObject权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 07:42:55