在AppEngine Blobstore中修改blob

时间:2013-08-02 08:07:11

标签: file google-app-engine mapreduce blobstore

我需要为客户提供一种方法,在AppEngine BlobStore中对blob执行以下写操作(或者,如果更容易,可以在Google云端存储中的文件上执行):

从offset X 开始,删除 Y 字节并插入以下字节: [z0,z1,z2,...] < / p>

例如,如果blob包含以下数据:

[0,1,2,3,4,5,6,7,8,9,10,11]

我想允许客户端说“从偏移量3开始,用[a,b,c,d]替换5个字节,之后blob看起来像这样:

[0,1,2,a,b,c,d,8,9,10,11]

有没有办法,例如,使用mapreduce API告诉它“从此blob复制X字节,然后附加此数据(可能存储在另一个blob中),然后从偏移量开始复制此blob的其余部分X + Y“?

或者我是否必须通过读取原始blob并从中构建新blob来手动执行此操作,以32MB块执行所有操作,因为这是请求大小限制?如果是这样,我可以期望这会产生一些合理的性能,或者BlobStore上传/下载到请求处理程序对于大型数据块来说真的很慢吗?

0 个答案:

没有答案