开发者指南

API 文档

SDK 文档

删除对象

最近更新时间:2020-08-20 15:45:01

简介

本文档提供关于对象的删除操作相关的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
DELETE Object 删除单个对象 在存储桶中删除指定对象
DELETE Multiple Object 删除多个对象 在存储桶中批量删除对象

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API

删除单个对象

功能说明

删除指定的对象(DELETE Object)。

示例代码

Objective-C

QCloudDeleteObjectRequest* deleteObjectRequest = [QCloudDeleteObjectRequest new];

// 存储桶名称,格式为 BucketName-APPID
deleteObjectRequest.bucket = @"examplebucket-1250000000";

// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"
deleteObjectRequest.object = @"exampleobject";

[deleteObjectRequest setFinishBlock:^(id outputObject, NSError *error) {
    // outputObject 包含所有的响应 http 头部
    NSDictionary* info = (NSDictionary *) outputObject;
}];

[[QCloudCOSXMLService defaultCOSXML] DeleteObject:deleteObjectRequest];
说明:

更多完整示例,请前往 GitHub 查看。

Swift

let deleteObject = QCloudDeleteObjectRequest.init();

// 存储桶名称,格式为 BucketName-APPID
deleteObject.bucket = "examplebucket-1250000000";

// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"
deleteObject.object = "exampleobject";

deleteObject.finishBlock = {(result,error)in
    if let result = result {
        // result 包含响应的 header 信息
    } else {
        print(error!);
    }
}
QCloudCOSXMLService.defaultCOSXML().deleteObject(deleteObject);
说明:

更多完整示例,请前往 GitHub 查看。

删除多个对象

功能说明

批量删除多个对象(Delete Multi Objects)。

示例代码

Objective-C

QCloudDeleteMultipleObjectRequest* delteRequest = [QCloudDeleteMultipleObjectRequest new];
delteRequest.bucket = @"examplebucket-1250000000";

// 要删除的单个文件
QCloudDeleteObjectInfo* deletedObject0 = [QCloudDeleteObjectInfo new];

// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"
deletedObject0.key = @"exampleobject";

// 要删除的文件集合
QCloudDeleteInfo* deleteInfo = [QCloudDeleteInfo new];

// 布尔值,这个值决定了是否启动 Quiet 模式:
// true:启动 Quiet 模式
// false:启动 Verbose 模式
// 默认值为 False
deleteInfo.quiet = NO;

// 存放需要删除对象信息的数组
deleteInfo.objects = @[deletedObject0];

// 封装了需要批量删除的多个对象的信息
delteRequest.deleteObjects = deleteInfo;

[delteRequest setFinishBlock:^(QCloudDeleteResult* outputObject,
                               NSError *error) {
    // 可以从 outputObject 中获取 response 中 etag 或者自定义头部等信息

}];

[[QCloudCOSXMLService defaultCOSXML] DeleteMultipleObject:delteRequest];
说明:

更多完整示例,请前往 GitHub 查看。

Swift

let mutipleDel = QCloudDeleteMultipleObjectRequest.init();

// 存储桶名称,格式为 BucketName-APPID
mutipleDel.bucket = "examplebucket-1250000000";

// 要删除的单个文件
let info1 = QCloudDeleteObjectInfo.init();

// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"
info1.key = "exampleobject";

let info2 = QCloudDeleteObjectInfo.init();

// 要删除的文件集合
let deleteInfos = QCloudDeleteInfo.init();

// 存放需要删除对象信息的数组
deleteInfos.objects = [info1,info2];

// 布尔值,这个值决定了是否启动 Quiet 模式:
// true:启动 Quiet 模式
// false:启动 Verbose 模式
// 默认值为 False
deleteInfos.quiet = false;

// 封装了需要批量删除的多个对象的信息
mutipleDel.deleteObjects = deleteInfos;

mutipleDel.setFinish { (result, error) in
    if let result = result {
        let deleted = result.deletedObjects
        let failed = result.deletedFailedObjects
    } else {
        print(error!);
    }
}
QCloudCOSXMLService.defaultCOSXML().deleteMultipleObject(mutipleDel);
说明:

更多完整示例,请前往 GitHub 查看。

目录