帮你快速理解、总结文档立即下载

批量删除对象

最近更新时间:2026-10-21 18:34:06
本文档已由 AI 辅助审校
我的收藏
在一次请求中批量删除高性能桶中的多个对象(DELETE Multiple Objects),单次最多支持 1000 个对象。对高性能桶发起请求时,SDK 自动完成会话鉴权。

注意事项

每个 Key 末尾的 / 严格区分文件对象与目录对象。类型不匹配按对象不存在处理,计为该项删除成功,不会删除另一种类型的同名对象。
目录须先清空;非空目录的错误在该项 Error 中返回,请逐项检查结果。
单次请求删除对象数量为 1~1000,超出请分批调用。
即使整体请求返回成功,仍需检查 Error 字段,其中记录了删除失败的对象及原因。
将 Quiet 置为 "true" 可减少返回内容,仅返回删除失败的对象信息。
高性能桶不支持对象版本,Object 中传入 VersionId 会本地报错。
批量删除属于数据面接口,SDK 使用 session 临时凭证签名。

请求

方法原型

def delete_objects(self, Bucket, Delete={}, **kwargs)

参数说明

参数名称
参数描述
类型
是否必选
Bucket
高性能桶完整名称,格式为 <BucketName>-x--<APPID>
string
是
Delete
批量删除信息,含 Quiet 与 Object 字段
dict
是
kwargs
可选请求参数,使用本文列出的参数
dict
否
Delete 字段:
参数名称
参数描述
类型
是否必选
Quiet
结果模式。"false"(Verbose,默认)返回每个对象的删除结果;"true"(Quiet)仅返回删除失败的对象
string
否
Object
待删除的对象列表,每项为含 Key 字段的 dict,数量为 1~1000
list
是

响应

返回值为字典:
参数名称
参数描述
类型
Deleted
删除成功的对象列表
list
Error
删除失败的对象列表,每项含 Key、Code、Message
list

错误码

本接口遵循统一的错误响应和错误码,详情请参见 错误码文档。

实际案例

# -*- coding=utf-8 -*-
import os
from qcloud_cos import CosConfig, CosS3Client

# 高性能桶经 VPC 内网 HTTP 80 端口接入,SDK 的网关 DNS 负载均衡也仅对 HTTP 请求生效;SDK 默认 https,此处需显式指定 http。
config = CosConfig(
Scheme='http',
Region='ap-guangzhou',
SecretId=os.environ['COS_SECRET_ID'],
SecretKey=os.environ['COS_SECRET_KEY'],
Token=os.environ.get('COS_SECURITY_TOKEN'),
EnableRapidDomain=True)
client = CosS3Client(config)

objects = {
'Quiet': 'false',
'Object': [
{'Key': 'a.txt'},
{'Key': 'b.txt'},
]
}
resp = client.delete_objects(
Bucket='examplebucket-x--1250000000', Delete=objects)
print('deleted: %s, errors: %s' % (resp.get('Deleted'), resp.get('Error')))