定期删除阿里云过期的object文件
来源:互联网 发布:七星彩计划软件 编辑:程序博客网 时间:2024/05/17 21:49
AliyunUtils
import java.util.ArrayList;import java.util.List;import com.aliyun.oss.OSSClient;import com.aliyun.oss.model.ListObjectsRequest;import com.aliyun.oss.model.OSSObjectSummary;import com.aliyun.oss.model.ObjectListing;public class AliyunUtils {private static String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";private static String accessKeyId = "<这里是公司的accessKeyId>";private static String accessKeySecret = "<这里是公司的accessKeySecret>";private static String bucketName = "<这里是公司的bucketName>";private static OSSClient ossClient;/**删除图片 * @param key */public static void deletePicture(String key){ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);ossClient.deleteObject(bucketName, key);ossClient.shutdown();}/**列出目录下所有文件(object) * @param prefix 指定文件夹 * @return */public static List<String> getAllKey(String prefix) {List<String> commonPrefixes = getCommonPrefixes(prefix);ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);// 构造ListObjectsRequest请求ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);List<String> list = new ArrayList<String>();for (String string : commonPrefixes) {// 递归列出fun目录下的所有文件listObjectsRequest.setPrefix(string);ObjectListing listing = ossClient.listObjects(listObjectsRequest);for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) { list.add(objectSummary.getKey());}}return list;}/**列出目录下所有子目录 * @param prefix 指定文件夹 * @return */public static List<String> getCommonPrefixes(String prefix) {ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);// 构造ListObjectsRequest请求ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);// "/" 为文件夹的分隔符listObjectsRequest.setDelimiter("/");// 递归列出fun目录下的所有文件listObjectsRequest.setPrefix(prefix + "/");ObjectListing listing = ossClient.listObjects(listObjectsRequest);return listing.getCommonPrefixes();}}
DelObjectImpl
import java.util.Calendar;import java.util.List;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;/* * 删除阿里云过期的object * */@Componentpublic class DelObjectImpl {@Scheduled(cron = " 0 0 5 ? * MON ") // 每周一早5点执行一次 public void myTest() {//保存的key格式为: key = "circle/uid/" + Calendar.getInstance().getTimeInMillis();List<String> list = AliyunUtils.getAllKey("circle");for (String key : list) {String[] split = key.split("/");if (split[0].equals("circle")) {//删除3个月之前的文件if (Calendar.getInstance().getTimeInMillis() > (Long.parseLong(split[2]) + 3600l * 1000 * 24 * 90)) {AliyunUtils.deletePicture(key);System.err.println("删除成功: "+ key);}}}}}
配置定时器参考:
http://blog.csdn.net/llllvvv/article/details/75634663
阅读全文
0 0
- 定期删除阿里云过期的object文件
- 批处理实现自动删除过期文件的定期操作
- 简单的定期任务oracle逻辑备份和删除过期文件
- 嵌入式Linux下使用crond服务(定期删除过期文件)
- 删除过期的trace文件
- Linux下的删除过期文件操作
- 删除按时间备份的过期文件
- Xcode 删除过期的Provisioning Profile文件
- 姊妹篇——windows下用定时任务定期进行oracle逻辑备份和删除过期文件
- perl 删除过期文件
- 删除过期文件shell
- 批处理,删除过期文件
- Sqlserver2005自动定期备份、Rar压缩并删除过期备份
- 一个好用的命令--定期删除旧文件
- 删除过期和过大文件
- Linux定时删除过期文件
- Linux定时删除过期文件
- python删除过期log文件
- 【Dubbo+Zookeeper】初见Zookeeper
- 嵌入式学习17(单链表)
- 【二分+RMQ】hdu 5289 Assignment
- .isblank()和.isempty()的比较
- 【Java深入】创建对象的5种方式
- 定期删除阿里云过期的object文件
- HttpClient
- [USACO2.4]分数化小数 Fractions to Decimals
- 80. Remove Duplicates from Sorted Array II
- 科大讯飞麦克风阵列修改唤醒词
- MITK-ProjectTemplate编译错误C2220警告视为错误解决办法
- SDNU 1030.烽火台 SPFA
- 学习笔记之JavaScript——知识点(5)
- 49. Group Anagrams