API | 작업명 | 작업 설명 |
단일 객체 삭제 | 버킷에서 지정 객체 삭제 | |
다수의 객체 삭제 | 버킷에서 객체 일괄 삭제 |
String bucket = "examplebucket-1250000000"; //버킷 이름. 포맷: BucketName-APPIDString cosPath = "exampleobject"; //버킷 내 객체 위치 식별자. 즉, 객체 키DeleteObjectRequest deleteObjectRequest = new DeleteObjectRequest(bucket,cosPath);cosXmlService.deleteObjectAsync(deleteObjectRequest,new CosXmlResultListener() {@Overridepublic void onSuccess(CosXmlRequest cosXmlRequest, CosXmlResult result) {DeleteObjectResult deleteObjectResult = (DeleteObjectResult) result;}@Overridepublic void onFail(CosXmlRequest cosXmlRequest,CosXmlClientException clientException,CosXmlServiceException serviceException) {if (clientException != null) {clientException.printStackTrace();} else {serviceException.printStackTrace();}}});
String bucket = "examplebucket-1250000000"; //버킷. 포맷: BucketName-APPIDList<String> objectList = new ArrayList<String>();objectList.add("exampleobject1"); //버킷 내 객체 위치 식별자. 즉, 객체 키objectList.add("exampleobject2"); //버킷 내 객체 위치 식별자. 즉, 객체 키DeleteMultiObjectRequest deleteMultiObjectRequest =new DeleteMultiObjectRequest(bucket, objectList);// Quiet 모드는 오류가 보고된 Object 정보만 반환합니다. 해당 모드가 아닌 경우 모든 Object의 삭제 결과를 반환합니다.deleteMultiObjectRequest.setQuiet(true);cosXmlService.deleteMultiObjectAsync(deleteMultiObjectRequest,new CosXmlResultListener() {@Overridepublic void onSuccess(CosXmlRequest cosXmlRequest, CosXmlResult result) {DeleteMultiObjectResult deleteMultiObjectResult =(DeleteMultiObjectResult) result;}@Overridepublic void onFail(CosXmlRequest cosXmlRequest,CosXmlClientException clientException,CosXmlServiceException serviceException) {if (clientException != null) {clientException.printStackTrace();} else {serviceException.printStackTrace();}}});
// parent/directory/ 디렉터리 삭제String directory = "parent/directory/";GetBucketRequest getBucketRequest = new GetBucketRequest(bucket);getBucketRequest.setPrefix(directory);// prefix는 삭제할 폴더 의미getBucketRequest.setPrefix(directory);// 순회할 최대 객체 수를 설정합니다. 한 번에 지원되는 listobject는 최대 1000개입니다.getBucketRequest.setMaxKeys(1000);GetBucketResult getBucketResult = null;do {try {getBucketResult = cosXmlService.getBucket(getBucketRequest);List<ListBucket.Contents> contents = getBucketResult.listBucket.contentsList;DeleteMultiObjectRequest deleteMultiObjectRequest = new DeleteMultiObjectRequest(bucket);for (ListBucket.Contents content : contents) {deleteMultiObjectRequest.setObjectList(content.key);}cosXmlService.deleteMultiObject(deleteMultiObjectRequest);getBucketRequest.setMarker(getBucketResult.listBucket.nextMarker);} catch (CosXmlClientException e) {e.printStackTrace();return;} catch (CosXmlServiceException e) {e.printStackTrace();return;}} while (getBucketResult.listBucket.isTruncated);
피드백