【发布时间】:2023-03-18 05:29:01
【问题描述】:
我试图找出一种方法来清理我的 s3 存储桶。我想删除所有早于 X 天的密钥(在我的情况下 X 是 30 天)。
我想不出删除 s3 中对象的方法。
我使用了以下方法,但都不起作用(通过工作,我的意思是我在 X 天后尝试获取对象,并且 s3 仍在为对象提供服务。我期待“找不到对象”或“对象过期”消息
方法一:
k = Key(bucket)
k.key = my_key_name
expires = datetime.utcnow() + timedelta(seconds=(10))
expires = expires.strftime("%a, %d %b %Y %H:%M:%S GMT")
k.set_contents_from_filename(filename,headers={'Expires':expires})
方法二:
k = Key(bucket)
k.key = "Event_" + str(key_name) + "_report"
expires = datetime.utcnow() + timedelta(seconds=(10))
expires = expires.strftime("%a, %d %b %Y %H:%M:%S GMT")
k.set_meta_data('Expires', expires)
k.set_contents_from_filename(filename)
如果有人可以分享为他们工作的代码,即删除 s3 对象,那就太好了
【问题讨论】: