【发布时间】:2020-09-21 19:45:47
【问题描述】:
当我尝试删除特定文件夹下的所有文件时出现错误 问题在这里 ['Key': 'testpart1/.'] 我也想删除 30 天前的文件,请帮我写脚本
import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('my-bucket')
response = my_bucket.delete_objects(
Delete={
'Objects': [
{
'Key': 'testpart1/*.*' # the_name of_your_file
}
]
}
【问题讨论】:
-
delete_objects()命令需要一个要删除的对象列表。它不接受通配符(例如/*)。您首先需要获取对象列表,然后将这些密钥(文件名)传递给delete_objects()命令。如果您希望删除超过 30 天的对象,您可以使用对象列表中的LastModified日期来确定是否删除这些对象。 -
仅供参考,Amazon S3 Object lifecycle management 可以自动删除 S3 中超过给定天数的对象。如果您要定期清除存储桶(或文件夹)的旧文件,这将非常有用。
标签: python amazon-web-services amazon-s3 boto3