存储到OSS中文件基于存储费用的考虑需要将存储指定时间的文件进行删除,如果想实现定期删除,有以下方法可以处理,简单记录一下:
1、oss控制台 配置生命周期策略删除,如附件1截图
2、通过sdk,调用DeleteObject请求删除文件
如client.delete('ossdemo/some-not-exists-object');
只实践过第一种,后期第二种实践后会定期更新.下面说下生命周期处理方式,按照截图所示操作:
这里只需要设置前缀匹配规则就可以
前缀匹配规则:
输入规则要匹配的Object名称的前缀。
前缀设置为img,表示匹配名称以img开头的所有Object,例如imgtest.png、img/example.jpg等。
前缀设置为img/,表示匹配名称以img/开头的所有Object,例如img/example.jpg、img/test.jpg等。
注意前缀匹配规则不支持同时设置多个,如果相对多个子文件进行设置需要设置多个生命周期规则.
我这里是多个就需要创建多个生命周期规则:
其中文件执行策略管理:
删除时间说明:
Object的最后修改时间与生命周期规则开始执行时间(8:00)必须间隔24小时以上。例如生命周期规则指定Object上传1天后删除,则2020年7月20日上传的文件删除时间如下:
北京时间8:00前上传的文件会在2020年7月21日8:00开始删除,并在7月22日8:00前删除完毕。
北京时间8:00后上传的文件会在2020年7月22日8:00开始删除,并在7月23日8:00前删除完毕。
注意:生命周期删除,建议用测试bucket先验证规则是否满足预期,若出现问题,删除文件后,无法恢复。