tencent cloud

文档反馈

删除对象

最后更新时间:2022-01-13 12:40:58

    简介

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

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

    删除单个对象

    功能说明

    DELETE Object 接口请求可以在 COS 的存储桶中将一个对象(Object)删除。该操作需要请求者对存储桶有 WRITE 权限。

    使用示例

    cos.deleteObject({
       Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */
       Region: 'COS_REGION',  /* 存储桶所在地域,例如ap-beijing,必须字段 */
       Key: '1.jpg',  /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */
    }, function(err, data) {
       console.log(err || data);
    });
    

    参数说明

    参数名 参数描述 类型 是否必填
    Bucket 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 String
    Region 存储桶所在地域,枚举值请参见 地域和访问域名 String
    Key 对象键(Object 的名称),对象在存储桶中的唯一标识,详情请参见 对象概述 String
    VersionId 要删除的对象版本 ID 或 DeleteMarker 版本 ID String

    回调函数说明

    function(err, data) { ... }
    
    参数名 参数描述 类型
    err 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 Object
    - statusCode 请求返回的 HTTP 状态码,例如200、403、404等 Number
    - headers 请求返回的头部信息 Object
    data 请求成功时返回的对象,如果请求发生错误,则为空 Object
    - statusCode 请求返回的 HTTP 状态码,例如200,204,403,404等,如果删除成功或者文件不存在则返回204或200,如果找不到指定的 Bucket,则返回404 Number
    - headers 请求返回的头部信息 Object

    删除多个对象

    功能说明

    DELETE Multiple Objects 接口请求实现在指定存储桶中批量删除对象,单次请求最大支持批量删除1000个对象。对于响应结果,COS 提供 Verbose 和 Quiet 两种模式: Verbose 模式将返回每个对象的删除结果,Quiet 模式只返回报错的对象信息。

    使用示例

    删除多个文件:

    cos.deleteMultipleObject({
       Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */
       Region: 'COS_REGION',  /* 存储桶所在地域,例如ap-beijing,必须字段 */
       Objects: [
           { Key: '1.jpg' }, /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */
           { Key: '2.txt' }, /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */
       ]
    }, function(err, data) {
       console.log(err || data);
    });
    

    按前缀删除多个对象(删除指定目录a下的文件):

    var deleteFiles = function (marker) {
      cos.getBucket({
          Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */
          Region: 'COS_REGION',  /* 存储桶所在地域,例如ap-beijing,必须字段 */
          Prefix: 'a/',
          Marker: marker,
          MaxKeys: 1000,
      }, function (listError, listResult) {
          if (listError) return console.log('list error:', listError);
          var nextMarker = listResult.NextMarker;
          var objects = listResult.Contents.map(function (item) {
              return {Key: item.Key}
          });
          cos.deleteMultipleObject({
              Bucket: bucket,
              Region: region,
              Objects: objects,
          }, function (delError, deleteResult) {
              if (delError) {
                  console.log('delete error', delError);
                  console.log('delete stop');
              } else {
                  console.log('delete result', deleteResult);
                  if (listResult.IsTruncated === 'true') deleteFiles(nextMarker);
                  else console.log('delete complete');
              }
          });
      });
    }
    deleteFiles();
    

    参数说明

    参数名 参数描述 类型 是否必填
    Bucket 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 String
    Region 存储桶所在地域,枚举值请参见 地域和访问域名 String
    Quiet 布尔值,这个值决定了是否启动 Quiet 模式。值为 true 启动 Quiet 模式,值为 false 则启动 Verbose 模式,默认值为 false Boolean
    Objects 要删除的对象列表 ObjectArray
    - Key 对象键(Object 的名称),对象在存储桶中的唯一标识,详情请参见 对象概述 String
    - VersionId 要删除的对象版本 ID 或 DeleteMarker 版本 ID String

    回调函数说明

    function(err, data) { ... }
    
    参数名 参数描述 类型
    err 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 Object
    - statusCode 请求返回的 HTTP 状态码,例如200,204,403,404等 Number
    - headers 请求返回的头部信息 Object
    data 请求成功时返回的对象,如果请求发生错误,则为空 Object
    - statusCode 请求返回的 HTTP 状态码,例如200,204,403,404等 Number
    - headers 请求返回的头部信息 Object
    - Deleted 说明本次删除成功的对象信息列表 ObjectArray
    - - Key 对象键(Object 的名称),对象在存储桶中的唯一标识,详情请参见 对象概述 String
    - - VersionId 如果参数传入了 VersionId,返回也会带上 VersionId,表示刚操作的对象版本或 DeleteMarker 版本 String
    - - DeleteMarker 如果开启了版本控制,并且参数没有 VersionId,本次删除不会真正抹去文件内容,只新增一个 DeleteMarker 代表可见的文件已删除,枚举值:true、false String
    - - DeleteMarkerVersionId 当返回的 DeleteMarker 为 true 时,返回刚新增的 DeleteMarker 的 VersionId String
    - Error 说明本次删除失败的对象信息列表 ObjectArray
    - - Key 对象键(Object 的名称),对象在存储桶中的唯一标识,详情请参见 对象概述 String
    - - Code 删除失败的错误码 String
    - - Message 删除错误信息 String
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持