jm3*_*jm3 24 http amazon-s3 http-headers
虽然它们类似于文件,但是Amazon S3中的对象并不是真正的"文件",就像S3存储桶不是真正的目录一样.在Unix系统上,我可以使用它head来预览文件的前几行,无论它有多大,但我不能在S3上执行此操作.那么如何对S3进行部分阅读呢?
jm3*_*jm3 44
S3文件可能很大,但你不必只是为了读取前几个字节而获取整个文件.S3 API支持HTTP Range:头(请参阅RFC 2616),它采用字节范围参数.
只需Range: bytes=0-NN在S3请求中添加一个标头,其中NN是要读取的请求字节数,您只需获取那些字节而不是读取整个文件.现在,您可以预览在S3存储桶中保留的900 GB CSV文件,而无需等待整个内容下载.阅读完整的GET Object文档在亚马逊的开发者文档.
get_object api 有用于部分读取的 arg
s3 = boto3.client('s3')
resp = s3.get_object(Bucket=bucket, Key=key, Range='bytes={}-{}'.format(start_byte, stop_byte-1))
res = resp['Body'].read()
Run Code Online (Sandbox Code Playgroud)
小智 5
AWS .Net SDK仅显示可能的固定范围(RE :)public ByteRange(long start, long end)。如果我想从中间开始并读到结尾怎么办?HTTP范围Range: bytes=1000-对于“从1000开始并读到结束”是完全可以接受的,我认为他们在.Net库中不允许这样做。
| 归档时间: |
|
| 查看次数: |
16775 次 |
| 最近记录: |