接口规范
更新时间:2023-08-02
请求响应格式标准
- HTTP请求,Querystring中参数的Key,为首字母小写的驼峰方式。如 upLoadId,partNumber等。
- 所有用户自定义Meta,以
x-bce-meta-*
的形式放Header中,自定义Meta总大小不得超过2K。x-bce-meta-*
的Key会被Server端统一按照小写进行处理。
例如:用户使用PutObject接口上传了x-bce-meta-DeMo:value
,Server端会统一按照小写x-bce-meta-demo:value
进行处理,用户在使用GetObject接口时,Sever端的返回值为x-bce-meta-demo:value
。
- 除RFC2616规定的标准Header外,其他Header以
x-bce-*
的形式定义。 - BOS的RESTful API支持仅支持JSON形式。
- 所有JSON中,Key均为首字母小写的驼峰方式。
- 每个请求响应中均带有
x-bce-request-id
和x-bce-debug-id
这两个Header。 - Header中Date、Content-MD5、Content-Type、Content-Length等相关字段遵守RFC 2616约束。
-
依据HTTP协议的规定,Content-MD5既要做MD5也要进行Base64编码,其计算方法如下:
Content-MD5 = "Content-MD5" ":" md5-digest md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864>
公共请求头
名字 | 类型 | 描述 |
---|---|---|
Authorization | String | 用于验证请求合法性的认证信息。更多参见鉴权认证 |
Content-Length | String | RFC2616中定义的HTTP请求内容的长度。 |
Content-Type | String | RFC2616中定义的HTTP请求内容的类型。 |
Content-MD5 | String | RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致。 |
Date | String | HTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT 。 |
Host | String | 访问Host值,取值为BucketName.bj.baidubce.com 。 |
x-bce-date | String | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z 。 |
公共返回头
名字 | 类型 | 描述 |
---|---|---|
Content-Length | String | RFC2616中定义的HTTP请求内容长度。 |
Content-Type | String | RFC2616中定义的HTTP请求内容的类型。 |
Content-MD5 | String | RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致。 |
Connection | String | 服务器是否断开连接,取值为close 或者keep-alive 。 |
Date | String | HTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT 。 |
eTag | String | Object的HTTP协议实体标签。eTag (entity tag) 在每个Object生成的时候被创建,用于标识一个Object的内容,eTag值可以用于检查Object内容是否发生变化。 |
Server | String | 服务器的名字,取值为BceBos 。 |
x-bce-request-id | String | 由BCE BOS创建,是请求BceBos的唯一标识。 |
x-bce-debug-id | String | 由BCE BOS创建,用于帮助排除故障的标识ID,如果在使用BOS过程中遇到问题,可以在工单中提供该字段便于快速定位问题。 |
不同存储类型API接口的差异
文件的存储类型是基于object实现的,低频存储、冷存储和归档存储的API实现时通过给object增加一个storage class属性来实现。storage class属性值为STANDARD、STANDARD_IA (infrequent access)、COLD和ARCHIVE,分别代表标准存储、低频存储、冷存储和归档存储。
以下低频/冷存储/归档存储API接口增加storage class属性,其中归档存储类型不支持AppendObject接口:
- PutObject、InitiateMultipartUpload、CopyObject、AppendObject、PostObject接口在请求头域中设置storage class属性参数x-bce-storage-class。
请求头域
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
x-bce-storage-class | String | 指定BOS的对象的存储类型,目前支持STANDARD 、STANDARD_IA 、COLD 和ARCHIVE 。 |
否,默认为STANDARD 。 |
-
GetObject和GetObjectMeta在响应头域中返回x-bce-storage-class。
响应头域
名称 类型 描述 x-bce-storage-class String BOS的对象的存储类型,目前支持 STANDARD
、STANDARD_IA
、COLD
和ARCHIVE
。
另外,当对象为归档存储类型,并且处于正在取回或已经取回状态时,GetObjectMeta会返回头域“x-bce-restore”,表示对象的取回状态。
-
ListObjects、ListMultipartUploads和ListParts在响应元素中返回storageClass。
响应元素
名称 类型 描述 storageClass String BOS的对象的存储类型,目前支持 STANDARD
、STANDARD_IA
、COLD
和ARCHIVE
。