详情页标题前

腾讯云对象存储删除对象

详情页1

简介

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

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

SDK API 参考

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

删除对象

功能说明

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

示例代码一:删除单个对象

Objective-C

QCloudDeleteObjectRequest* deleteObjectRequest = [QCloudDeleteObjectRequest new];
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketdeleteObjectRequest.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];

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

let deleteObject = QCloudDeleteObjectRequest.init();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketdeleteObject.bucket = "examplebucket-1250000000";

// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "video/xxx/movie.mp4"deleteObject.object = "exampleobject";
deleteObject.finishBlock = {(result,error)in if let result = result { // result 包含响应的 header 信息 } else { print(error!); }}QCloudCOSXMLService.defaultCOSXML().deleteObject(deleteObject);

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

示例代码二:删除目录

Objective-C

QCloudGetBucketRequest* request = [QCloudGetBucketRequest new];// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.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];

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

let getBucketReq = QCloudGetBucketRequest.init();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketgetBucketReq.bucket = "examplebucket-1250000000";
// 单次返回的最大条目数量,默认1000getBucketReq.maxKeys = 100;
//要删除的目录名称:带'/'getBucketReq.prefix = "dir/";
getBucketReq.setFinish { (result, error) in if 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 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket mutipleDel.bucket = "examplebucket-1250000000";
deleteInfos.objects = infos as! [QCloudDeleteObjectInfo];
// 布尔值,这个值决定了是否启动 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); } else { print(error!); }}QCloudCOSXMLService.defaultCOSXML().getBucket(getBucketReq);

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

删除多个对象

功能说明

批量删除多个对象(DELETE Multiple Objects)。

示例代码一:批量删除对象

Objective-C

QCloudDeleteMultipleObjectRequest* delteRequest = [QCloudDeleteMultipleObjectRequest new];delteRequest.bucket = @"examplebucket-1250000000";
// 要删除的单个文件QCloudDeleteObjectInfo* deletedObject0 = [QCloudDeleteObjectInfo new];
// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "video/xxx/movie.mp4"deletedObject0.key = @"exampleobject";
// 要删除的文件集合QCloudDeleteInfo* deleteInfo = [QCloudDeleteInfo new];
// 布尔值,这个值决定了是否启动 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];

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

let mutipleDel = QCloudDeleteMultipleObjectRequest.init();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketmutipleDel.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];
// 布尔值,这个值决定了是否启动 Quiet 模式:// true:启动 Quiet 模式// false:启动 Verbose 模式// 默认值为 FalsedeleteInfos.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 查看。

示例代码二:删除带指定前缀的对象

Objective-C

QCloudGetBucketRequest* request = [QCloudGetBucketRequest new];// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.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];

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

let getBucketReq = QCloudGetBucketRequest.init();
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketgetBucketReq.bucket = "examplebucket-1250000000";
// 单次返回的最大条目数量,默认1000getBucketReq.maxKeys = 100;
//如果要删除指定前缀的文件:prefix为文件名前缀getBucketReq.prefix = "dir/";

getBucketReq.setFinish { (result, error) in if 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 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket mutipleDel.bucket = "examplebucket-1250000000";
deleteInfos.objects = infos as! [QCloudDeleteObjectInfo];
// 布尔值,这个值决定了是否启动 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); } else { print(error!); }}QCloudCOSXMLService.defaultCOSXML().getBucket(getBucketReq);

说明更多完整示例,请前往 GitHub 查看。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/145656.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 阿里云RDS数据库指定账号从特定IP地址访问数据库-云淘科技

    RDS白名单设置适用于所有账号,无法根据账号来限制IP地址的访问。在安全性上有较大缺陷。本文介绍如何指定账号从特定的IP地址访问数据库。 前提条件 已创建高权限账号,创建方法,请参见创建高权限账号。 注意事项 通过本文的操作步骤为账号指定IP地址后,再通过控制台或者API接口管理该账号(删除账号、修改账号密码等)可能会引发故障,建议后期统一使用DMS或者SQ…

    阿里云数据库 2023年12月9日
  • 腾讯云轻量应用服务器调整备份点配额费用说明云小二

    您可在新购云硬盘时加购备份点配额,或调整已有云硬盘的备份点配额。本文介绍针对已有云硬盘的备份点配额提升、退还时的费用说明。说明备份点配额介绍及控制台相关操作,请参见 管理备份点。 费用规则 提升备份点配额退还备份点配额提升备份点配额按照生命周期的剩余时间补齐新配置与旧配置的差价。具体情况以实际情况为准,您可以在付款页面查看。具体费用规则: 遵循按天补差价,升…

    腾讯云 2023年12月9日
  • 腾讯云容器服务原生节点概述同尘科技

    什么是原生节点? 原生节点是由腾讯云 TKE 容器服务团队面向 Kubernetes 环境推出的全新节点类型,依托腾讯云千万核容器运维的技术沉淀,为用户提供原生化、高稳定、快响应的 K8s 节点管理能力。 产品优势 搭载 FinOps 理念,助力云上资源成本优化 搭载 HouseKeeper 可视化资源大盘,助力提升节点资源利用率,实现云上降本增效。负载 智…

    腾讯云 2023年12月9日
  • 腾讯云内容分发网络CDN合并回源配置

    对于资源热度集中、请求并发高的业务场景,如电商大促等,开启合并回源能够提升缓存命中率,减少回源压力。 功能介绍 多个用户并发请求同一个在 CDN 节点没有缓存命中的资源时,所有请求均会触发回源,导致回源带宽以及连接数飙升,当源站存在性能瓶颈时,可能会出现源站响应慢或响应失败的问题,最终影响用户访问体验。合并回源即同一时刻同一资源的多个请求,在节点无缓存时,仅…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储服务端加密

    简介 本文档提供关于如何使用在上传对象时开启服务端加密。服务端加密的密钥分为三种:COS 托管加密密钥客户提供的加密密钥KMS 托管加密密钥 使用 COS 托管加密密钥的服务端加密(SSE-COS)保护数据 由腾讯云 COS 托管主密钥和管理数据。COS 会帮助您在数据写入数据中心时自动加密,并在您取用该数据时自动解密。目前支持使用 COS 主密钥对数据进行…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。