这是我在这里的第一个问题,因为我对这个世界还很新!我花了几天时间试图为自己解决这个问题,但到目前为止还没有找到任何有用的信息.
我正在尝试从存储在S3中的文件中检索字节范围,使用类似于:
S3Key.get_contents_to_file(tempfile, headers={'Range': 'bytes=0-100000'}
Run Code Online (Sandbox Code Playgroud)
我正在尝试从中恢复的文件是视频文件,特别是MXF.当我请求一个字节范围时,我会在tempfile中找回比请求更多的信息.例如,使用一个文件,我请求100,000个字节并返回100,451.
关于MXF文件需要注意的一点是它们合法地包含0x0A(ASCII换行)和0x0D(ASCII回车).
我有一个挖掘,似乎任何时候文件中存在0D字节,检索到的信息添加0A 0D而不是仅0D,因此似乎检索比所需更多的信息.
例如,原始文件包含Hex字符串:
02 03 00 00 00 00 3B 0A 06 0E 2B 34 01 01 01 05
但从S3下载的文件有:
02 03 00 00 00 00 3B 0D 0A 06 0E 2B 34 01 01 01 05
我已经尝试调试代码并通过Boto逻辑工作,但我在这方面相对较新,所以很容易迷失方向.
我创建了这个用于测试,这显示了问题
from boto.s3.connection import S3Connection
from boto.s3.connection import Location
from boto.s3.key import Key
import boto
import os
## AWS credentials
AWS_ACCESS_KEY_ID = 'secret key'
AWS_SECRET_ACCESS_KEY = 'access key'
## Bucket name and path to file …
Run Code Online (Sandbox Code Playgroud)