本文档提供关于对象的高级上传、简单上传、分块上传等操作相关的 API 概览以及 SDK 示例代码。
简单操作
API | 操作名 | 操作描述 |
---|---|---|
PUT Object | 简单上传对象 | 上传一个对象至存储桶 |
APPEND Object | 追加上传对象 | 将对象以分块追加的方式上传至存储桶 |
分块操作
API | 操作名 | 操作描述 |
---|---|---|
List Multipart Uploads | 查询分块上传 | 查询正在进行中的分块上传信息 |
Initiate Multipart Upload | 初始化分块上传 | 初始化分块上传任务 |
Upload Part | 上传分块 | 分块上传文件 |
Upload Part - Copy | 复制分块 | 将其他对象复制为一个分块 |
List Parts | 查询已上传块 | 查询特定分块上传操作中的已上传的块 |
Complete Multipart Upload | 完成分块上传 | 完成整个文件的分块上传 |
Abort Multipart Upload | 终止分块上传 | 终止一个分块上传操作并删除已上传的块 |
该高级接口根据用户文件的长度自动选择简单上传以及分块上传,对于小于等于20M的文件调用简单上传,对于大于20MB的文件调用分块上传,对于分块上传未完成的文件会自动进行断点续传。
对于分块上传的文件,可以通过 progress_callback 回调函数,获取上传进度。
upload_file(Bucket, Key, LocalFilePath, PartSize=1, MAXThread=5, EnableMD5=False, progress_callback=None, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
from qcloud_cos.cos_exception import CosClientError, CosServiceError
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
# 使用高级接口上传一次,不重试,此时没有使用断点续传的功能
response = client.upload_file(
Bucket='examplebucket-1250000000',
Key='exampleobject',
LocalFilePath='local.txt',
EnableMD5=False,
progress_callback=None
)
# 使用高级接口断点续传,失败重试时不会上传已成功的分块(这里重试10次)
for i in range(0, 10):
try:
response = client.upload_file(
Bucket='examplebucket-1250000000',
Key='exampleobject',
LocalFilePath='local.txt')
break
except CosClientError or CosServiceError as e:
print(e)
def upload_percentage(consumed_bytes, total_bytes):
"""进度条回调函数,计算当前上传的百分比
:param consumed_bytes: 已经上传的数据量
:param total_bytes: 总数据量
"""
if total_bytes:
rate = int(100 * (float(consumed_bytes) / float(total_bytes)))
print('\r{0}% '.format(rate))
sys.stdout.flush()
response = client.upload_file(
Bucket='examplebucket-1250000000',
Key='exampleobject',
LocalFilePath='local.txt',
PartSize=1,
MAXThread=5,
progress_callback=upload_percentage,
EnableMD5=False|True,
ACL='private'|'public-read', # 请慎用此参数,否则会达到1000条ACL上限
GrantFullControl='string',
GrantRead='string',
StorageClass='STANDARD'|'STANDARD_IA'|'ARCHIVE',
Expires='string',
CacheControl='string',
ContentType='string',
ContentDisposition='string',
ContentEncoding='string',
ContentLanguage='string',
ContentLength='123',
ContentMD5='string',
Metadata={
'x-cos-meta-key1': 'value1',
'x-cos-meta-key2': 'value2'
},
TrafficLimit='1048576'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
LocalFilePath | 本地文件的路径名 | String | 是 |
PartSize | 分块上传的分块大小,默认为1MB | Int | 否 |
MAXThread | 分块上传的并发数量,默认为5个线程上传分块 | Int | 否 |
progress_callback | 上传进度的回调函数,可以通过自定义此函数,来获取上传进度 | Func | 否 |
EnableMD5 | 是否需要 SDK 计算 Content-MD5,默认关闭,打开后会增加上传耗时 | Bool | 否 |
ACL | 设置对象的 ACL,例如 private,public-read | String | 否 |
GrantFullControl | 赋予被授权者所有的权限,格式为 id="OwnerUin" |
String | 否 |
GrantRead | 赋予被授权者读的权限,格式为 id="OwnerUin" |
String | 否 |
StorageClass | 设置对象的存储类型,例如 STANDARD,STANDARD_IA,ARCHIVE。默认值为 STANDARD,更多存储类型,请参见 存储类型概述 | String | 否 |
Expires | 设置 Expires | String | 否 |
CacheControl | 缓存策略,设置 Cache-Control | String | 否 |
ContentType | 内容类型,设置 Content-Type | String | 否 |
ContentDisposition | 文件名称,设置 Content-Disposition | String | 否 |
ContentEncoding | 编码格式,设置 Content-Encoding | String | 否 |
ContentLanguage | 语言类型,设置 Content-Language | String | 否 |
ContentLength | 设置传输长度 | String | 否 |
ContentMD5 | 设置上传对象的 MD5 值用于校验 | String | 否 |
Metadata | 用户自定义的对象元数据 | Dict | 否 |
TrafficLimit | 单链接限速的值,单位为bit/s,限速值设置范围为819200 - 838860800,即100KB/s - 100MB/s,高级接口限制的是单线程的速度 | String | 否 |
上传对象的属性,类型为 dict:
{
'ETag': 'string'
}
参数名称 | 参数描述 | 类型 |
---|---|---|
ETag | 分块上传的对象,该值不是对象内容的 MD5 校验值,仅能用于检查对象唯一性 | String |
该示例展示通过组合 SDK 的基本接口,完成批量上传本地文件夹到 COS。
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
from qcloud_cos import CosServiceError
from qcloud_cos import CosClientError
from qcloud_cos.cos_threadpool import SimpleThreadPool
import sys
import os
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token) # 获取配置对象
client = CosS3Client(config)
uploadDir = '/root/logs'
bucket = 'examplebucket-125000000'
g = os.walk(uploadDir)
# 创建上传的线程池
pool = SimpleThreadPool()
for path, dir_list, file_list in g:
for file_name in file_list:
srcKey = os.path.join(path, file_name)
cosObjectKey = srcKey.strip('/')
# 判断COS上文件是否存在
exists = False
try:
response = client.head_object(Bucket=bucket, Key=cosObjectKey)
exists = True
except CosServiceError as e:
if e.get_status_code() == 404:
exists = False
else:
print("Error happened, reupload it.")
if not exists:
print("File %s not exists in cos, upload it", srcKey)
pool.add_task(client.upload_file, bucket, cosObjectKey, srcKey)
pool.wait_completion()
result = pool.get_result()
if not result['success_all']:
print("Not all files upload sucessed. you should retry")
上传一个对象至存储桶(PUT Object)。
put_object(Bucket, Body, Key, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
# 文件流 简单上传
file_name = 'test.txt'
with open('test.txt', 'rb') as fp:
response = client.put_object(
Bucket='examplebucket-1250000000', # Bucket 由 BucketName-APPID 组成
Body=fp,
Key=file_name,
StorageClass='STANDARD',
ContentType='text/html; charset=utf-8'
)
print(response['ETag'])
# 字节流 简单上传
response = client.put_object(
Bucket='examplebucket-1250000000',
Body=b'abcdefg',
Key=file_name
)
print(response['ETag'])
# 本地路径 简单上传
response = client.put_object_from_local_file(
Bucket='examplebucket-1250000000',
LocalFilePath='local.txt',
Key=file_name,
)
print(response['ETag'])
# 设置 HTTP 头部 简单上传
response = client.put_object(
Bucket='examplebucket-1250000000',
Body=b'test',
Key=file_name,
ContentType='text/html; charset=utf-8'
)
print(response['ETag'])
# 设置自定义头部 简单上传
response = client.put_object(
Bucket='examplebucket-1250000000',
Body=b'test',
Key=file_name,
Metadata={
'x-cos-meta-key1': 'value1',
'x-cos-meta-key2': 'value2'
}
)
print(response['ETag'])
# 上传时限速
with open('test.bin', 'rb') as fp:
response = client.put_object(
Bucket='examplebucket-1250000000',
Key='exampleobject',
Body=fp,
TrafficLimit='819200'
)
print(response['ETag'])
COS 中的目录是'/'结尾的特殊对象名,调用 Put Object 接口即可。
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
# 创建目录
dir_to_create='path/to/create/dir/'
response = client.put_object(
Bucket='examplebucket-1250000000', # Bucket 由 BucketName-APPID 组成
Key=dir_to_create,
Body=b'',
)
print(response)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
#上传由 '/' 分隔的对象名,自动创建包含文件的文件夹。想要在此文件夹中添加新文件时,只需要在上传文件至 COS 时,将 Key 填写为此目录前缀即可。
dir_name = 'path/to/dir/'
file_name = 'test.txt'
object_key = dir_name + file_name
with open('test.txt', 'rb') as fp:
response = client.put_object(
Bucket='examplebucket-1250000000', # Bucket 由 BucketName-APPID 组成
Body=fp,
Key=object_key,
StorageClass='STANDARD',
ContentType='text/html; charset=utf-8'
)
print(response['ETag'])
response = client.put_object(
Bucket='examplebucket-1250000000',
Body=b'bytes'|file,
Key='exampleobject',
EnableMD5=False|True,
ACL='private'|'public-read', # 请慎用此参数,否则会达到1000条 ACL 上限
GrantFullControl='string',
GrantRead='string',
StorageClass='STANDARD'|'STANDARD_IA'|'ARCHIVE',
Expires='string',
CacheControl='string',
ContentType='string',
ContentDisposition='string',
ContentEncoding='string',
ContentLanguage='string',
ContentLength='123',
ContentMD5='string',
Metadata={
'x-cos-meta-key1': 'value1',
'x-cos-meta-key2': 'value2'
},
TrafficLimit='1048576'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Body | 上传对象的内容,可以为文件流或字节流 | file/bytes | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
EnableMD5 | 是否需要 SDK 计算 Content-MD5,默认关闭,打开后将增加上传耗时 | Bool | 否 |
ACL | 设置对象的 ACL,例如 'private','public-read' | String | 否 |
GrantFullControl | 赋予被授权者所有的权限,格式为 id="OwnerUin" |
String | 否 |
GrantRead | 赋予被授权者读的权限,格式为 id="OwnerUin" |
String | 否 |
StorageClass | 设置对象的存储类型,STANDARD,STANDARD_IA,ARCHIVE。默认值为 STANDARD。更多存储类型,请参见 存储类型概述 | String | 否 |
Expires | 设置 Expires | String | 否 |
CacheControl | 缓存策略,设置 Cache-Control | String | 否 |
ContentType | 内容类型,设置 Content-Type | String | 否 |
ContentDisposition | 对象名称,设置 Content-Disposition | String | 否 |
ContentEncoding | 编码格式,设置 Content-Encoding | String | 否 |
ContentLanguage | 语言类型,设置 Content-Language | String | 否 |
ContentLength | 设置传输长度 | String | 否 |
ContentMD5 | 设置上传对象的 MD5 值用于校验 | String | 否 |
Metadata | 用户自定义的对象元数据, 必须以 x-cos-meta 开头,否则会被忽略 | Dict | 否 |
TrafficLimit | 单链接限速的值,单位为bit/s,限速值设置范围为819200 - 838860800,即100KB/s - 100MB/s | String | 否 |
上传对象的属性,类型为 dict:
{
'ETag': 'string',
'x-cos-version-id': 'string'
}
参数名称 | 参数描述 | 类型 |
---|---|---|
ETag | 上传对象的 MD5 值 | String |
x-cos-version-id | 开启版本控制后,对象的版本号 | String |
将对象以分块追加的方式上传至存储桶(APPEND Object)。
append_object(Bucket, Key, Position, Data, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.append_object(
Bucket='examplebucket-1250000000',
Key='exampleobject',
Position=0,
Data=b'b'*1024*1024
)
response = client.append_object(
Bucket='examplebucket-1250000000',
Key='exampleobject',
Position=0,
Data=b'bytes'|file
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
Position | 追加操作的起始点,单位为字节。首次追加则设置Position=0,后续追加则设置Position为当前Object的content-length | Int | 是 |
Data | 上传分块的内容,可以为本地文件流或输入流 | file/bytes | 是 |
追加后对象的属性,包括下次追加的位置,类型为 dict。
{
'ETag': '"9a4802d5c99dafe1c04da0a8e7e166bf"',
'x-cos-next-append-position': '12',
'x-cos-request-id': 'NjEwN2Q0ZGZfMWNhZjU4NjRfMzM1M19hNzQzYjc2'
}
分块上传对象可包括的操作:
查询指定存储桶正在进行中的分块上传信息(List Multipart Uploads)。
list_multipart_uploads(Bucket, Prefix="", Delimiter="", KeyMarker="", UploadIdMarker="", MaxUploads=1000, EncodingType="", **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.list_multipart_uploads(
Bucket='examplebucket-1250000000',
Prefix='dir'
)
response = client.list_multipart_uploads(
Bucket='examplebucket-1250000000',
Prefix='string',
Delimiter='string',
KeyMarker='string',
UploadIdMarker='string',
MaxUploads=100,
EncodingType='url'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Prefix | 默认为空,对分块上传的 key 进行筛选,匹配 prefix 为前缀的分块上传 | String | 否 |
Delimiter | 默认为空,设置分隔符 | String | 否 |
KeyMarker | 和 UploadIdMarker 一起使用,指明列出分块上传的起始位置 | String | 否 |
UploadIdMarker | 和 KeyMarker 一起使用,指明列出分块上传的起始位置。如果未指定 KeyMarker,UploadIdMarker 将被忽略 | String | 否 |
MaxUploads | 最多返回的分块上传的数量,默认为最大的1000 | Int | 否 |
EncodingType | 默认不编码,规定返回值的编码方式,可选值:url | String | 否 |
获取分块上传的信息,类型为 dict:
{
'Bucket': 'examplebucket-1250000000',
'Prefix': 'string',
'Delimiter': 'string',
'KeyMarker': 'string',
'UploadIdMarker': 'string',
'NextKeyMarker': 'string',
'NextUploadIdMarker': 'string',
'MaxUploads': '1000',
'IsTruncated': 'true'|'false',,
'EncodingType': 'url',
'Upload':[
{
'UploadId': 'string',
'Key': 'string',
'Initiated': 'string',
'StorageClass': 'STANDARD',
'Owner': {
'DisplayName': 'string',
'ID': 'string'
},
'Initiator': {
'ID': 'string',
'DisplayName': 'string'
}
},
],
'CommonPrefixes':[
{
'Prefix': 'string'
},
],
}
参数名称 | 参数描述 | 类型 |
---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String |
Prefix | 默认为空,对分块上传的 key 进行筛选,匹配 prefix 为前缀的分块上传 | String |
Delimiter | 默认为空,设置分隔符 | String |
KeyMarker | 和 UploadIdMarker 一起使用,指明列出分块上传的 key 起始位置 | String |
UploadIdMarker | 和 KeyMarker 一起使用,指明列出分块上传的 uploadId 起始位置。如果未指定 KeyMarker,UploadIdMarker 将被忽略 | String |
NextKeyMarker | 当 IsTruncated 为 true 时,指明下一次列出分块上传的 key 的起始位置 | String |
NextUploadIdMarker | 当 IsTruncated 为 true 时,指明下一次列出分块上传的 uploadId 的起始位置 | String |
MaxUploads | 最多返回的分块上传的数量,默认为最大的1000 | Int |
IsTruncated | 表示返回的分块上传是否被截断 | String |
EncodingType | 默认不编码,规定返回值的编码方式,可选值:url | String |
Upload | 包含所有分块上传的 list,包括 'UploadId','StorageClass','Key','Owner','Initiator','Initiated' 等信息 | List |
CommonPrefixes | 所有以 Prefix 开头,以 Delimiter 结尾的 Key 被归到同一类 | List |
初始化分块上传,获取对应的 uploadId(Initiate Multipart Upload)。
create_multipart_upload(Bucket, Key, **kwargs):
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.create_multipart_upload(
Bucket='examplebucket-1250000000',
Key='exampleobject',
StorageClass='STANDARD'
)
response = client.create_multipart_upload(
Bucket='examplebucket-1250000000',
Key='multipart.txt',
StorageClass='STANDARD'|'STANDARD_IA'|'ARCHIVE',
Expires='string',
CacheControl='string',
ContentType='string',
ContentDisposition='string',
ContentEncoding='string',
ContentLanguage='string',
Metadata={
'x-cos-meta-key1': 'value1',
'x-cos-meta-key2': 'value2'
},
ACL='private'|'public-read',
GrantFullControl='string',
GrantRead='string'
)
# 获取UploadId供后续接口使用
uploadid = response['UploadId']
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | Bucket 名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
StorageClass | 设置对象的存储类型,STANDARD,STANDARD_IA,ARCHIVE。默认值为 STANDARD。更多存储类型,请参见 存储类型概述 | String | 否 |
Expires | 设置 Expires | String | 否 |
CacheControl | 缓存策略,设置 Cache-Control | String | 否 |
ContentType | 内容类型,设置 Content-Type | String | 否 |
ContentDisposition | 文件名称,设置 Content-Disposition | String | 否 |
ContentEncoding | 编码格式,设置 Content-Encoding | String | 否 |
ContentLanguage | 语言类型,设置 Content-Language | String | 否 |
Metadata | 用户自定义的对象元数据 | Dict | 否 |
ACL | 设置对象的 ACL,例如 'private','public-read' | String | 否 |
GrantFullControl | 赋予被授权者所有的权限,格式为 id="OwnerUin" |
String | 否 |
GrantRead | 赋予被授权者读的权限,格式为 id="OwnerUin" |
String | 否 |
获取分块上传的初始化信息,类型为 dict:
{
'UploadId': '150219101333cecfd6718d0caea1e2738401f93aa531a4be7a2afee0f8828416f3278e5570',
'Bucket': 'examplebucket-1250000000',
'Key': 'exampleobject'
}
参数名称 | 参数描述 | 类型 |
---|---|---|
UploadId | 标识分块上传的 ID | String |
Bucket | 存储桶名称,由 BucketName-APPID 组成 | String |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String |
分块上传对象(Upload Part)。
upload_part(Bucket, Key, Body, PartNumber, UploadId, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
# 注意,上传分块的块数最多10000块
response = client.upload_part(
Bucket='examplebucket-1250000000',
Key='exampleobject',
Body=b'b'*1024*1024,
PartNumber=1,
UploadId='exampleUploadId'
)
# 注意,上传分块的块数最多10000块
response = client.upload_part(
Bucket='examplebucket-1250000000',
Key='exampleobject',
Body=b'bytes'|file,
PartNumber=1,
UploadId='string',
EnableMD5=False|True,
ContentLength='123',
ContentMD5='string',
TrafficLimit='1048576'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | Bucket 名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
Body | 上传分块的内容,可以为本地文件流或输入流 | file/bytes | 是 |
PartNumber | 标识上传分块的序号 | Int | 是 |
UploadId | 标识分块上传的 ID | String | 是 |
EnableMD5 | 是否需要 SDK 计算 Content-MD5,默认关闭,打开后会增加上传耗时 | Bool | 否 |
ContentLength | 设置传输长度 | String | 否 |
ContentMD5 | 设置上传对象的 MD5 值用于校验 | String | 否 |
TrafficLimit | 单链接限速的值,单位为bit/s,限速值设置范围为819200 - 838860800,即100KB/s - 100MB/s | String | 否 |
上传分块的属性,类型为 dict:
{
'ETag': 'string'
}
参数名称 | 参数描述 | 类型 |
---|---|---|
ETag | 上传分块的 MD5 值。 | String |
将其他对象复制为一个分块(Upload Part - Copy)。
upload_part_copy(Bucket, Key, PartNumber, UploadId, CopySource, CopySourceRange='', **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.upload_part_copy(
Bucket='examplebucket-1250000000',
Key='exampleobject',
PartNumber=1,
UploadId='exampleUploadId',
CopySource={
'Bucket': 'sourcebucket-1250000000',
'Key': 'exampleobject',
'Region': 'ap-guangzhou'
}
)
response = client.upload_part_copy(
Bucket='examplebucket-1250000000',
Key='exampleobject',
PartNumber=100,
UploadId='string',
CopySource={
'Bucket': 'sourcebucket-1250000000',
'Key': 'sourceObject',
'Region': 'COS_REGION', #替换为源存储桶的 Region
'VersionId': 'string'
},
CopySourceRange='string',
CopySourceIfMatch='string',
CopySourceIfModifiedSince='string',
CopySourceIfNoneMatch='string',
CopySourceIfUnmodifiedSince='string'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
PartNumber | 标识上传分块的序号 | Int | 是 |
UploadId | 标识分块上传的 ID | String | 是 |
CopySource | 描述拷贝源对象的路径,包含 Bucket、Key、Region、VersionId | Dict | 是 |
CopySourceRange | 描述拷贝源对象的范围,格式为 bytes=first-last。不指定时,默认拷贝整个源对象 | String | 否 |
CopySourceIfMatch | 源对象的 Etag 与给定的值相同时才拷贝 | String | 否 |
CopySourceIfModifiedSince | 源对象在给定的时间后被修改相才拷贝 | String | 否 |
CopySourceIfNoneMatch | 源对象的 Etag 与给定的值不相同时才拷贝 | String | 否 |
CopySourceIfUnmodifiedSince | 源对象在给定的时间后没有修改相才拷贝 | String | 否 |
复制分块的属性,类型为 dict:
{
'ETag': 'string',
'LastModified': 'string',
'x-cos-copy-source-version-id': 'string',
}
参数名称 | 参数描述 | 类型 |
---|---|---|
ETag | 拷贝分块的 MD5 值 | String |
LastModified | 拷贝分块的最后一次修改时间 | String |
x-cos-copy-source-version-id | 源对象的版本号 | String |
查询特定分块上传操作中的已上传的块(List Parts)。
list_parts(Bucket, Key, UploadId, MaxParts=1000, PartNumberMarker=0, EncodingType='', **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.list_parts(
Bucket='examplebucket-1250000000',
Key='exampleobject',
UploadId='exampleUploadId'
)
response = client.list_parts(
Bucket='examplebucket-1250000000',
Key='exampleobject',
UploadId=uploadid,
MaxParts=1000,
PartNumberMarker=100,
EncodingType='url'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
UploadId | 标识分块上传的 ID | String | 是 |
MaxParts | 最多返回的分块的数量,默认为最大的1000 | Int | 否 |
PartNumberMarker | 默认为0,从第一块列出分块,从 PartNumberMarker 下一个分块开始列出 | Int | 否 |
EncodingType | 默认不编码,规定返回值的编码方式,可选值:url | String | 否 |
所有上传分块的信息,类型为 dict:
{
'Bucket': 'examplebucket-1250000000',
'Key': 'exampleobject',
'UploadId': '1502192444bdb382add546a35b2eeab81e06ed84086ca0bb75ea45ca7fa073fa9cf74ec4f2',
'EncodingType': None,
'MaxParts': '1000',
'IsTruncated': 'true',
'PartNumberMarker': '0',
'NextPartNumberMarker': '1000',
'StorageClass': 'Standard',
'Part': [
{
'LastModified': '2017-08-08T11:40:48.000Z',
'PartNumber': '1',
'ETag': '"8b8378787c0925f42ccb829f6cc2fb97"',
'Size': '10485760'
},
],
'Initiator': {
'DisplayName': '3333333333',
'ID': 'qcs::cam::uin/3333333333:uin/3333333333'
},
'Owner': {
'DisplayName': '124564654654',
'ID': '124564654654'
}
}
参数名称 | 参数描述 | 类型 |
---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String |
UploadId | 标识分块上传的 ID | String |
EncodingType | 默认不编码,规定返回值的编码方式,可选值:url | String |
MaxParts | 最多返回的分块的数量,默认为最大的1000 | String |
IsTruncated | 表示返回的分块是否被截断 | String |
PartNumberMarker | 默认为0,从第一块列出分块,从 PartNumberMarker 下一个分块开始列出 | String |
NextPartNumberMarker | 指明下一次列出分块的起始位置 | String |
StorageClass | 对象的存储类型,STANDARD,STANDARD_IA,ARCHIVE。默认值为 STANDARD,更多存储类型,请参见 存储类型概述 | String |
Part | 上传分块的相关信息,包括 ETag,PartNumber,Size,LastModified | String |
Initiator | 分块上传的创建者,包括 DisplayName 和 ID | Dict |
Owner | 对象拥有者的信息,包括 DisplayName 和 ID | Dict |
完成整个对象的分块上传(Complete Multipart Upload)。
complete_multipart_upload(Bucket, Key, UploadId, MultipartUpload={}, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.complete_multipart_upload(
Bucket='examplebucket-1250000000',
Key='exampleobject',
UploadId='exampleUploadId',
MultipartUpload={
'Part': [
{
'ETag': 'string',
'PartNumber': 1
},
{
'ETag': 'string',
'PartNumber': 2
},
]
},
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | Bucket 名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
UploadId | 标识分块上传的 ID | String | 是 |
MultipartUpload | 所有分块的 ETag 和 PartNumber 信息 | Dict | 是 |
组装后的对象的相关信息,类型为 dict:
{
'ETag': '"3f866d0050f044750423e0a4104fa8cf-2"',
'Bucket': 'examplebucket-1250000000',
'Location': 'examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/exampleobject',
'Key': 'exampleobject'
}
参数名称 | 参数描述 | 类型 |
---|---|---|
ETag | 合并后对象的唯一标签值,该值不是对象内容的 MD5 校验值,仅能用于检查对象唯一性。如需校验对象内容,可以在上传过程中校验单个分块的 ETag 值。 | String |
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String |
Location | URL 地址 | String |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String |
终止一个分块上传操作并删除已上传的块(Abort Multipart Upload)。
abort_multipart_upload(Bucket, Key, UploadId, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.intl.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224?from_cn_redirect=1
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048?from_cn_redirect=1
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.abort_multipart_upload(
Bucket='examplebucket-1250000000',
Key='exampleobject',
UploadId='exampleUploadId'
)
参数名称 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg |
String | 是 |
UploadId | 标识分块上传的 ID | String | 是 |
该方法返回值为 None。
本页内容是否解决了您的问题?