aws-s3-使用boto3根据路径和间隔时间进行清理删除启用版本控制的文件

本文介绍了如何使用boto3库来删除AWS S3存储桶中启用了版本控制的对象。由于版本控制的存在,简单的删除操作只会添加删除标记,而不会永久移除文件。为实现永久删除,需要通过ObjectVersion实体指定version_id进行操作。文中引用了多个boto3官方文档作为参考,并提到了清除删除标记和版本控制数据的步骤。
摘要由CSDN通过智能技术生成

前面我们做过一版清理删除的脚本。

但是 发现 针对启用了版本控制的桶是不生效的,不能永久删除,只是在版本控制中加上了一个删除标记的版本。

如果要永久删除就需要带version_id指定删除。

boto3中提供了ObjectVersion实体

使用脚本如下:

import boto3
import time
import datetime
from aws_money.settings import config


# https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html

s3 = boto3.resource('s3', region_name='cn-xxxxx-1')


def delete_file_from_bucket_one(bucket_name, prefix, reserve_paths,time_interval):
    bucket = s3.Bucket(bucket_name)
    if prefix:
        print(f"获取前缀为{prefix}的文件")
        object_versions = bucket.object_versions.filter(Prefix=prefix)
    else:
        print("没有前缀筛选,默认获取全部文件")
        object_versions = bucket.object_versions.all()
    prefixs=str(prefix).replace("/","_")
    times=time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())
    filename=f"{bucket_name}_{prefixs}_{
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小凡vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值