最近要把OSS里的文件清空一下,控制台操作属实是又卡又慢,无奈还是得代码操作
新建一个maven项目 依赖项如下:
<dependencies>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.13.1</version>
</dependency>
<dependency>
<artifactId>hutool-core</artifactId>
<groupId>cn.hutool</groupId>
<version>5.7.17</version>
</dependency>
</dependencies>
代码如下
String endpoint = "";
String accessKeyId = "";
String accessKeySecret = "";
String bucketName = "";
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
conf.setMaxConnections(2048);
conf.setSocketTimeout(10000);
conf.setConnectionTimeout(1000);
conf.setConnectionRequestTimeout(1000);
conf.setIdleConnectionTime(60000);
conf.setMaxErrorRetry(1);
conf.setProtocol(Protocol.HTTPS);
conf.setUserAgent("cloud-oss-sdk");
conf.setRedirectEnable(true);
conf.setVerifySSLEnable(false);
conf.setSupportCname(true);
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret, conf);
var objects = ossClient.listObjects(bucketName).getObjectSummaries();
while (CollUtil.isNotEmpty(objects)) {
var keys = objects.stream().map(OSSObjectSummary::getKey).toList();
var deleteObjectsRequest = new DeleteObjectsRequest(bucketName);
deleteObjectsRequest.setKeys(keys);
ossClient.deleteObjects(deleteObjectsRequest);
objects = ossClient.listObjects(bucketName).getObjectSummaries();
}
System.out.println("success");
把代码中的endpoint之类的替换成你自己的就行,然后执行,等success出来就完事了