GetObject
更新时间:2024-03-26
接口描述
此命令用于从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设置,常见的可取值为 private
、no-cache
、max-age
、must-revalidate
Content-Disposition String 设置浏览器是否下载,可取值为 inline
、attachment
; 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
;如果是多AZ类型bucket,多AZ低频存储返回MAZ_STANDARD_IA
,多AZ标准存储返回MAZ_STANDARD
。x-bce-server-side-encryption String Object的服务器端加密类型,当前支持AES256和SM4加密。 x-bce-content-crc32 String 返回Object的crc32。 注意事项
- 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]