放弃一个未完成的分块上传(Abort Multipart Upload),并删除已上传的所有分块以释放存储空间。对高性能桶发起请求时,SDK 自动完成会话鉴权。
注意事项
Key 与 UploadId 必须对应同一次初始化分块上传;Key 表示不以 / 结尾的文件对象,不能改成目录对象键。终止后,该
UploadId 下已上传的分块会被删除且不可恢复。已初始化但未完成的分块上传会占用存储空间并产生存储费用,不再需要时应及时终止;可通过 Python SDK 列举分块上传 查询桶内未完成的分块上传任务。
若终止时仍有正在上传该
UploadId 分块的请求,这些 Python SDK 上传分块 请求会失败;UploadId 不存在会返回 NoSuchUpload。终止分块上传属于数据面接口,SDK 使用 session 临时凭证签名。
请求
方法原型
def abort_multipart_upload(self, Bucket, Key, UploadId, **kwargs)
参数说明
参数名称 | 参数描述 | 类型 | 是否必选 |
Bucket | 高性能桶完整名称,格式为 <BucketName>-x--<APPID> | string | 是 |
Key | 对象键(Object Key) | string | 是 |
UploadId | 初始化分块上传返回的 UploadId | string | 是 |
kwargs | 可选请求参数,使用本文列出的参数 | dict | 否 |
响应
参数名称 | 参数描述 | 类型 |
None | 终止成功无返回内容,对应 HTTP 204 | None |
错误码
实际案例
# -*- coding=utf-8 -*-import osfrom 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)client.abort_multipart_upload(Bucket='examplebucket-x--1250000000',Key='exampleobject.txt',UploadId='exampleUploadId')print('AbortMultipartUpload OK')