对象存储BOS

    GetObject

    接口描述

    此命令用于从BOS获取某个Object。此操作需要请求者对该Object有读权限。请求者可以在Header中设置Range来指定需要获取的Object数据的范围。

    请求(Request)

    • 请求语法

      GET /<ObjectKey> HTTP/1.1
      Host: <BucketName>.bj.bcebos.com
      Date: <Date>
      Authorization: <AuthorizationString>
      Range: <Range_String>
    • 请求头域

      名称 类型 描述 是否必需
      Range String 指定Object返回的文件范围。设定 bytes=0-9,表示传送第0到第9这10个字符。默认返回全部数据。
    • 请求参数

    响应(Response)

    • 响应头域

      名称 类型 描述
      Cache-Control String 下载Object的Cache设置,常见的可取值为privateno-cachemax-agemust-revalidate
      Content-Disposition String 设置浏览器是否下载,可取值为inlineattachment; filename="download.txt"
      Content-Length Long Int 返回Object的数据大小
      Content-Range String 有range的情况下返回Object的数据范围
      Content-Type String Object的类型及编码方式
      Expires String 下载Object时的缓存失效时间
      ETag String Object的HTTP协议实体标签
      x-bce-meta-* String 如果有自定meta,才返回此项
      x-bce-storage-class String 标准存储返回STANDARD,低频存储返回STANDARD_IA,冷存储返回COLD,归档存储返回ARCHIVE
      x-bce-server-side-encryption String Object的服务器端加密类型,当前只支持AES256加密。

      注意事项

      • GetObject通过Range参数可以支持断点续传,对于比较大的Object建议使用该功能。
      • 如果在请求头中使用Range参数;则返回消息中会包含整个文件的长度和此次返回的范围,例如:Content-Range: bytes 0-9/44,表示整个文件长度为 44,此次返回的范围为0-9。
      • 对于Range读大小为0字节的对象, 会返回400错误, Range是前闭后闭区间。
      • 归档存储类型对象需要先取回才能调用GetObject接口。

      如您想在response请求里面获得某些特定的header信息,可通过如下两种方式:

      • 在PutObject时增加header信息,则GetObject时会直接返回在response里面,请参考PutObject接口

        注意: responseContentDisposition的设置在BOS自有域名($region.bcebos.com和*.$region.bcebos.com无效)。

      • GetObject时,在queryString里面直接增加“responseXXX=YYY”,返回的header里面会包含“XXX: YYY”。例如:GET /testBucket/testObject?responseContentType= image/jpg,在这个http请求的response里面就会有“Content-Type: image/jpg”。

        具体的形式为response$header=urlencode(value),需要注意,当前$header只支持“ContentDisposition、ContentType、ContentLanguage、Expires、CacheControl、ContentEncoding”。

    • 响应元素

    示例

    • 请求示例

      GET /ObjectName
      Host: BucketName.bj.bcebos.com
      Date: Wed, 06 Apr 2016 06:34:40 GMT
      Authorization: AuthorizationString
      Range: bytes=0-9
    • 响应示例

      HTTP/1.1 206 Partial Content
      x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
      x-bce-storage-class: STANDARD
      Date: Wed, 06 Apr 2016 06:34:40 GMT
      Last-Modified: Fri, 28 Jan 2011 20:10:32 GMT
      ETag: "b2419b1e3fd45d596ee22bdf62aaaa2f"
      Accept-Ranges: bytes
      Content-Range: bytes 0-9/443
      Content-Type: text/plain
      Content-Length: 10
      Server: BceBos
      
      [10 bytes of object data]
    上一篇
    PutObject
    下一篇
    GetObjectMeta