2017-07-14 109 views

回答

2

是的,这是可能的。根据REST API中的GET Object的S3文档,它支持使用HTTP范围头。

范围

下载的对象的指定范围的字节。有关HTTP Range标题的更多信息,请转至http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35

在该示例语法:

GET /ObjectName HTTP/1.1 
Host: BucketName.s3.amazonaws.com 
Date: date 
Authorization: authorization string (see Authenticating Requests (AWS Signature Version 4)) 
Range:bytes=byte_range 

热门S3客户端库,如AWS SDK for Java用于指定的范围的信息提供方便客户端API。

+0

我看遍了,这是不可能的?你知道它是否最近添加? – olekb

+1

@olekb,我不确定何时添加它,但我知道至少从2016年初开始可用。我的经验是在['S3AInputStream'](https://github.com/)中的Apache Hadoop中使用它apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L154-L155)类。 –