前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >清空 COS Bucket 内文件 (Java)

清空 COS Bucket 内文件 (Java)

原创
作者头像
用户1685622
修改2018-06-21 19:00:50
1.8K0
修改2018-06-21 19:00:50
举报
文章被收录于专栏:使用记使用记

COS 的web控制台和登录工具里面没有提供清空bucket的功能,批量删除每次删除上限1000条,且删除的操作相对麻烦。

刚好有删除bucket的需求,但是需要先清空bucket下的文件。所以写了一个简单的清空小工具,只是小工具,没有做太多校验。


import java.util.ArrayList;

import java.util.List;

import com.qcloud.cos.COSClient;

import com.qcloud.cos.ClientConfig;

import com.qcloud.cos.auth.BasicCOSCredentials;

import com.qcloud.cos.auth.COSCredentials;

import com.qcloud.cos.model.COSObjectSummary;

import com.qcloud.cos.model.DeleteObjectsRequest;

import com.qcloud.cos.model.DeleteObjectsRequest.KeyVersion;

import com.qcloud.cos.model.ObjectListing;

import com.qcloud.cos.region.Region;

public class ClearCOS {

public static void main(String[] args) {

String secretId = "你的ID";

String secretKey = "你的KEY";

// 1 初始化用户身份信息(secretId, secretKey)

COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);

// 2 设置bucket的区域, COS地域的简称请参照

// https://cloud.tencent.com/document/product/436/6224

ClientConfig clientConfig = new ClientConfig(new Region("ap-shanghai"));

// 3 生成cos客户端

COSClient cosclient = new COSClient(cred, clientConfig);

// bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式

String bucketName = "你的bucket名称-你的appid";

// 循环进行删除,如果删完了就会停止

while(true) {

ObjectListing list = cosclient.listObjects(bucketName);

List<COSObjectSummary> lists = list.getObjectSummaries();

if(lists.isEmpty()) {

break;

}

List<KeyVersion> keys = new ArrayList<>();

lists.forEach((e) -> { // 此处没有做1000条记录校验,因为listObjects没有返回过1000条的情况,如果你有遇到,请做一下简单判断.

String key = e.getKey();

KeyVersion kv = new KeyVersion(key);

keys.add(kv);

});

DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(bucketName);

deleteObjectsRequest.setKeys(keys );

cosclient.deleteObjects(deleteObjectsRequest);

}

}

}


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档