2013-01-24 35 views
0

我们正在构建一个应用程序,用AppEngine和py 2.7运行时存储用户提交的(大块> 2Mb)文本。当我们开始测试更大的文本块时,我们发现日志中存在大量的数据存储错误。我们通读了数据存储的限制,并且看到最多可以有1Mb的请求。所以,我们可能面临着(错误)使用blobstore来存储文本。在父对象中使用BlobKey属性类型的限制是,任何一个用户提交都可能有多个文本块。AppEngine存储大块文本的方法

传入的数据有效载荷来在寻找这样的事情:

{ 
"name": "blah name", 
"date": "00/00/00", 
"flags": "public", 
"attachments" : [ 
{"id":1,"contents":"SEDFWEWETWT$WTWEFWEFWEFWEFW ... 2Mb"}, 
{"id":2,"contents":"SEDFWEWETWT$WTWEFWEFWEFWEFW ... 1Mb"}  
] 
} 

那么,如何才能解决这个问题? Blobstore每个附件,然后将每个blobkeys存储在父实体内的列表属性中?非常感谢您的建议和帮助。

+0

如何压缩是大文本块的内容?他们仍然会> 1MB? –

+0

它们是ASCII文本,但是,即使我们可以避开这一点,最终有人会张贴一段文字,使它超过极限。只是好奇,你可以用appengine中的哪些库来压缩语料库? – rdodev

+1

您已经回答了您自己的问题:是的,您应该将其存储在Blobstore中并将参考保存为Blob。 –

回答