2017-03-08 59 views
2

使用boto,我只能从Amazon s3下载文件的子集。给定一个s3键,我指定了开始和停止字节并将它们传递给get_contents_as_string调用。使用Boto3从s3下载文件的子集

# Define bytes to focus on 
headers={'Range' : 'bytes={}-{}'.format(start_byte, stop_byte)} 
resp = key.get_contents_as_string(headers=headers) 

有没有办法在boto3中完成同样的任务?

回答

2

您可以使用相同的Range参数get_object()方法:

s3 = boto3.client('s3') 
resp = s3.get_object(Bucket='bucket', Range='bytes={}-{}'.format(start_byte, stop_byte)) 
content = resp['Body']