所有文档

          对象存储 BOS

          接口规范

          请求响应格式标准

          • 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-idx-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的对象的存储类型,目前支持STANDARDSTANDARD_IACOLDARCHIVE 否,默认为STANDARD
          • GetObject和GetObjectMeta在响应头域中返回x-bce-storage-class。

            响应头域

            名称 类型 描述
            x-bce-storage-class String BOS的对象的存储类型,目前支持STANDARDSTANDARD_IACOLDARCHIVE

            另外,当对象为归档存储类型,并且处于正在取回或已经取回状态时,GetObjectMeta会返回头域“x-bce-restore”,表示对象的取回状态。

          • ListObjects、ListMultipartUploads和ListParts在响应元素中返回storageClass。

            响应元素

            名称 类型 描述
            storageClass String BOS的对象的存储类型,目前支持STANDARDSTANDARD_IACOLDARCHIVE
          上一篇
          简介
          下一篇
          错误码