Rapid Bucket 提供一套与腾讯云 COS 兼容的 S3 RESTful API,用于进行存储桶(Bucket)和对象(Object)的管理与读写。本文档面向直接使用 HTTP/HTTPS 调用 Rapid Bucket 接口的开发者,描述请求/响应格式以及错误码。
术语信息
使用 API 接口时会出现一些主要概念和术语,请见下表:
名称 | 描述 |
APPID | 用户访问 Rapid Bucket 服务时的唯一资源标识,用以标识资源 |
Bucket | 存储桶,Rapid Bucket 中用于存储数据的容器 |
BucketName-APPID | 存储桶名称的完整格式,由 BucketName 和 APPID 通过 -x-- 拼接,例如 BucketName 为 examplebucket、APPID 为 1250000000 时,完整名称为 examplebucket-x--1250000000 |
Object | 对象,Rapid Bucket 中存储的具体文件,是存储的基本实体 |
ObjectKey | 对象键,对象(Object)在存储桶(Bucket)中的唯一标识,请求 URL 中 / 之后的部分即为 ObjectKey |
Region | 地域信息,例如 ap-guangzhou、ap-beijing 等 |
Multipart Uploads | 分块上传,Rapid Bucket 为大文件上传提供的一种分块上传模式 |
Object Content | 上传文件的二进制内容 |
请求域名
请求采用 virtual-hosted–style,Host 必须形如:
<BucketName-APPID>.cosrapid.<Region>.myqcloud.com
例如:
examplebucket-x--1250000000.cosrapid.ap-guangzhou.myqcloud.com
其中:
字段 | 含义 | 约束 |
BucketName-APPID | 存储桶完整名称,由 BucketName 和 APPID 通过 -x-- 拼接 | BucketName 由小写字母、数字和 - 组成,APPID 为数字 |
Region | 地域简称 | 必须与目标存储桶所在 Region 一致,否则返回 InvalidRegionName |
GetService(ListBuckets)接口的 Host 不带 BucketName,固定为:service.cosrapid.<Region>.myqcloud.com
接口分类
分类 | 包含接口 |
存储桶操作 | GetService(ListBuckets)、PutBucket、HeadBucket、DeleteBucket、Createsession |
存储桶策略 | PutBucketPolicy、GetBucketPolicy、DeleteBucketPolicy |
对象操作 | GetBucket(ListObjects)、PutObject、PutObjectCopy、GetObject、HeadObject、DeleteObject、DeleteMultipleObjects、RenameObject |
分块上传操作 | InitiateMultipartUpload、UploadPart、UploadPartCopy、CompleteMultipartUpload、AbortMultipartUpload、ListMultipartUploads、ListParts |
调用方式
所有接口遵循以下基本规则:
1. 除对象上传/下载接口的 Body 为对象原始字节流外,其余接口的请求和响应 Body 均使用 XML 编码。
2. 每次请求均通过响应头部
x-cos-request-id 返回唯一请求 ID,用于标识本次请求。3. 请求成功时 HTTP 状态码为
2xx,失败时为 4xx 或 5xx,并在 Body 中返回 XML 格式的错误信息。错误码列表详见 错误码 章节。