API | 작업명 | 작업 설명 |
단일 객체 삭제 | 버킷에서 지정 객체 삭제 | |
다수의 객체 삭제 | 버킷에서 객체 일괄 삭제 |
QCloudDeleteObjectRequest* deleteObjectRequest = [QCloudDeleteObjectRequest new];// BucketName-APPID 포맷의 버킷 이름deleteObjectRequest.bucket = @"examplebucket-1250000000";// 객체 키는 객체의 COS 상의 전체 경로로, 디렉터리가 있을 경우 포맷은 'video/xxx/movie.mp4'입니다.deleteObjectRequest.object = @"exampleobject";[deleteObjectRequest setFinishBlock:^(id outputObject, NSError *error) {// outputObject에 모든 http 응답 헤더 포함NSDictionary* info = (NSDictionary *) outputObject;}];[[QCloudCOSXMLService defaultCOSXML] DeleteObject:deleteObjectRequest];
let deleteObject = QCloudDeleteObjectRequest.init();// BucketName-APPID 포맷의 버킷 이름deleteObject.bucket = "examplebucket-1250000000";// 객체 키는 객체의 COS 상의 전체 경로로, 디렉터리가 있을 경우 포맷은 'video/xxx/movie.mp4'입니다.deleteObject.object = "exampleobject";deleteObject.finishBlock = {(result, error)inif let result = result {// result에 응답 header 정보 포함} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().deleteObject(deleteObject);
QCloudGetBucketRequest* request = [QCloudGetBucketRequest new];// BucketName-APPID 포맷의 버킷 이름request.bucket = @"examplebucket-1250000000";// 한 번에 반환 가능한 최대 항목 수, 기본값: 1000request.maxKeys = 100;//삭제할 디렉터리 이름: '/' 수반request.prefix = @"prefix";[request setFinishBlock:^(QCloudListBucketResult * result, NSError* error) {if(! error){NSMutableArray *deleteInfosArr = [NSMutableArray array];for (QCloudBucketContents *content in result.contents) {QCloudDeleteMultipleObjectRequest *delteRequest = [QCloudDeleteMultipleObjectRequest new];delteRequest.bucket = request.bucket;QCloudDeleteObjectInfo *object = [QCloudDeleteObjectInfo new];object.key = content.key;[deleteInfosArr addObject:object];}QCloudDeleteInfo *deleteInfos = [QCloudDeleteInfo new];deleteInfos.objects = [deleteInfosArr copy];QCloudDeleteMultipleObjectRequest *delteRequest = [QCloudDeleteMultipleObjectRequest new];delteRequest.bucket = @"examplebucket-1250000000";delteRequest.deleteObjects = deleteInfos;[delteRequest setFinishBlock:^(QCloudDeleteResult *outputObject, NSError *error) {NSLog(@"outputObject = %@",outputObject);}];[[QCloudCOSXMLService defaultCOSXML] DeleteMultipleObject:delteRequest];}}];[[QCloudCOSXMLService defaultCOSXML] GetBucket:request];
let getBucketReq = QCloudGetBucketRequest.init();// BucketName-APPID 포맷의 버킷 이름getBucketReq.bucket = "examplebucket-1250000000";// 한 번에 반환 가능한 최대 항목 수, 기본값: 1000getBucketReq.maxKeys = 100;//삭제할 디렉터리 이름: '/' 수반getBucketReq.prefix = "dir/";getBucketReq.setFinish { (result, error) inif let result = result {let contents = result.contents;let infos = NSMutableArray.init();for content in contents {let info = QCloudDeleteObjectInfo.init();info.key = content.key;infos.add(info);}let mutipleDel = QCloudDeleteMultipleObjectRequest.init();// 삭제할 파일 집합let deleteInfos = QCloudDeleteInfo.init();// BucketName-APPID 포맷의 버킷 이름mutipleDel.bucket = "examplebucket-1250000000";deleteInfos.objects = infos as! [QCloudDeleteObjectInfo];// Boolean 값, 이 값으로 Quiet 모드의 실행 여부 결정// true: Quiet 모드 실행// false: Verbose 모드 실행//기본값: FalsedeleteInfos.quiet = false;// 일괄 삭제할 다수의 객체 정보 캡슐화mutipleDel.deleteObjects = deleteInfos;mutipleDel.setFinish { (result, error) inif let result = result {let deleted = result.deletedObjectslet failed = result.deletedFailedObjects} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().deleteMultipleObject(mutipleDel);} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().getBucket(getBucketReq);
QCloudDeleteMultipleObjectRequest* delteRequest = [QCloudDeleteMultipleObjectRequest new];delteRequest.bucket = @"examplebucket-1250000000";// 삭제할 단일 파일QCloudDeleteObjectInfo* deletedObject0 = [QCloudDeleteObjectInfo new];// 객체 키는 객체의 COS 상의 전체 경로로, 디렉터리가 있을 경우 포맷은 'video/xxx/movie.mp4'입니다.deletedObject0.key = @"exampleobject";// 삭제할 파일 집합QCloudDeleteInfo* deleteInfo = [QCloudDeleteInfo new];// Boolean 값, 이 값으로 Quiet 모드의 실행 여부 결정// true: Quiet 모드 실행// false: Verbose 모드 실행//기본값: FalsedeleteInfo.quiet = NO;// 삭제할 객체 정보를 보관할 배열deleteInfo.objects = @[deletedObject0];// 일괄 삭제할 다수의 객체 정보 캡슐화delteRequest.deleteObjects = deleteInfo;[delteRequest setFinishBlock:^(QCloudDeleteResult* outputObject,NSError *error) {// outputObject에서 response의 etag 또는 사용자 정의 헤더 등 정보를 획득할 수 있습니다.}];[[QCloudCOSXMLService defaultCOSXML] DeleteMultipleObject:delteRequest];
let mutipleDel = QCloudDeleteMultipleObjectRequest.init();// BucketName-APPID 포맷의 버킷 이름mutipleDel.bucket = "examplebucket-1250000000";// 삭제할 단일 파일let info1 = QCloudDeleteObjectInfo.init();// 객체 키는 객체의 COS 상의 전체 경로로, 디렉터리가 있을 경우 포맷은 'video/xxx/movie.mp4'입니다.info1.key = "exampleobject";let info2 = QCloudDeleteObjectInfo.init();// 삭제할 파일 집합let deleteInfos = QCloudDeleteInfo.init();// 삭제할 객체 정보를 보관할 배열deleteInfos.objects = [info1,info2];// Boolean 값, 이 값으로 Quiet 모드의 실행 여부 결정// true: Quiet 모드 실행// false: Verbose 모드 실행//기본값: FalsedeleteInfos.quiet = false;// 일괄 삭제할 다수의 객체 정보 캡슐화mutipleDel.deleteObjects = deleteInfos;mutipleDel.setFinish { (result, error) inif let result = result {let deleted = result.deletedObjectslet failed = result.deletedFailedObjects} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().deleteMultipleObject(mutipleDel);
QCloudGetBucketRequest* request = [QCloudGetBucketRequest new];// BucketName-APPID 포맷의 버킷 이름request.bucket = @"examplebucket-1250000000";// 한 번에 반환 가능한 최대 항목 수, 기본값: 1000request.maxKeys = 100;// 접두사가 prefix인 파일을 지정 삭제request.prefix = @"prefix";[request setFinishBlock:^(QCloudListBucketResult * result, NSError* error) {if(! error){NSMutableArray *deleteInfosArr = [NSMutableArray array];for (QCloudBucketContents *content in result.contents) {QCloudDeleteMultipleObjectRequest *delteRequest = [QCloudDeleteMultipleObjectRequest new];delteRequest.bucket = request.bucket;QCloudDeleteObjectInfo *object = [QCloudDeleteObjectInfo new];object.key = content.key;[deleteInfosArr addObject:object];}QCloudDeleteInfo *deleteInfos = [QCloudDeleteInfo new];deleteInfos.objects = [deleteInfosArr copy];QCloudDeleteMultipleObjectRequest *delteRequest = [QCloudDeleteMultipleObjectRequest new];delteRequest.bucket = @"examplebucket-1250000000";delteRequest.deleteObjects = deleteInfos;[delteRequest setFinishBlock:^(QCloudDeleteResult *outputObject, NSError *error) {NSLog(@"outputObject = %@",outputObject);}];[[QCloudCOSXMLService defaultCOSXML] DeleteMultipleObject:delteRequest];}}];[[QCloudCOSXMLService defaultCOSXML] GetBucket:request];
let getBucketReq = QCloudGetBucketRequest.init();// BucketName-APPID 포맷의 버킷 이름getBucketReq.bucket = "examplebucket-1250000000";// 한 번에 반환 가능한 최대 항목 수, 기본값: 1000getBucketReq.maxKeys = 100;// 접두사가 prefix인 파일을 지정 삭제getBucketReq.prefix = "dir/";getBucketReq.setFinish { (result, error) inif let result = result {let contents = result.contents;let infos = NSMutableArray.init();for content in contents {let info = QCloudDeleteObjectInfo.init();info.key = content.key;infos.add(info);}let mutipleDel = QCloudDeleteMultipleObjectRequest.init();// 삭제할 파일 집합let deleteInfos = QCloudDeleteInfo.init();// BucketName-APPID 포맷의 버킷 이름mutipleDel.bucket = "examplebucket-1250000000";deleteInfos.objects = infos as! [QCloudDeleteObjectInfo];// Boolean 값, 이 값으로 Quiet 모드의 실행 여부 결정// true: Quiet 모드 실행// false: Verbose 모드 실행//기본값: FalsedeleteInfos.quiet = false;// 일괄 삭제할 다수의 객체 정보 캡슐화mutipleDel.deleteObjects = deleteInfos;mutipleDel.setFinish { (result, error) inif let result = result {let deleted = result.deletedObjectslet failed = result.deletedFailedObjects} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().deleteMultipleObject(mutipleDel);} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().getBucket(getBucketReq);
피드백