Open 18513962330 opened 1 year ago
删除文件夹请参考如下demo: package com.huawei.obs.demo;
import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.DeleteObjectsRequest; import com.obs.services.model.DeleteObjectsResult; import com.obs.services.model.KeyAndVersion; import com.obs.services.model.ListObjectsRequest; import com.obs.services.model.ObjectListing; import com.obs.services.model.ObsObject;
public class DeleteFolder { public static void main(String[] args) { String ak = "Your Access Key"; String sk = "Your Secret Access Key"; String endpoint = "http://your-endpoint";
ObsClient obsClient = new ObsClient(ak, sk, endpoint);
String bucketName = "you-bucket-name";
String remotePrefix = "remotePrefix";
ListObjectsRequest listRequest = new ListObjectsRequest();
listRequest.setPrefix(remotePrefix);
listRequest.setBucketName(bucketName);
listRequest.setEncodingType("url");
DeleteObjectsRequest deleteRequest = new DeleteObjectsRequest();
deleteRequest.setBucketName(bucketName);
deleteRequest.setEncodingType("url");
ObjectListing objects;
KeyAndVersion[] kvs;
for (int i = 1; ; i++) {
System.out.println("Start to delete page " + i);
int index = 0;
try {
objects = obsClient.listObjects(listRequest);
} catch (ObsException e) {
System.out.println("Request Error, RequestID is: " + e.getErrorRequestId());
throw e;
}
kvs = new KeyAndVersion[objects.getObjects().size()];
for (ObsObject object : objects.getObjects()) {
kvs[index++] = new KeyAndVersion(object.getObjectKey());
}
deleteRequest.setKeyAndVersions(kvs);
try {
DeleteObjectsResult deleteResult = obsClient.deleteObjects(deleteRequest);
deleteResult.getDeletedObjectResults().forEach(item ->
System.out.println("Successfully deleted " + item.toString()));
deleteResult.getErrorResults().forEach(item ->
System.out.println("Failed to deleted " + item.toString()));
} catch (ObsException e) {
System.out.println("Request Error, RequestID is: " + e.getErrorRequestId());
throw e;
}
if (!objects.isTruncated()) {
break;
}
// 使用上次返回的 next_marker 作为下次列举的 marker
listRequest.setMarker(objects.getNextMarker());
}
}
}
可调整为,删除或者不删除