Python 存储大文本块的AppEngine方法

Python 存储大文本块的AppEngine方法,python,google-app-engine,Python,Google App Engine,我们正在使用AppEngine和py 2.7运行时构建一个应用程序,用于存储用户提交的(大块>2Mb)文本。当我们开始使用较大的文本块进行测试时,我们看到日志中出现了大量数据存储错误。我们通读了数据存储的限制,发现对它的请求最多可达1Mb。因此,我们可能面临(mis)使用blobstore存储文本。在父对象中使用BlobKey属性类型有一个限制,即任何一个用户提交都很可能有多个文本块 传入的数据有效负载如下所示: { "name": "blah name", "date": "00/00/0

我们正在使用AppEngine和py 2.7运行时构建一个应用程序,用于存储用户提交的(大块>2Mb)文本。当我们开始使用较大的文本块进行测试时,我们看到日志中出现了大量数据存储错误。我们通读了数据存储的限制,发现对它的请求最多可达1Mb。因此,我们可能面临(mis)使用blobstore存储文本。在父对象中使用BlobKey属性类型有一个限制,即任何一个用户提交都很可能有多个文本块

传入的数据有效负载如下所示:

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

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

另一个选择是云存储


大文本块的内容可压缩程度如何?它们仍然会>1MB吗?它们是ASCII文本,但是是的,即使我们可以暂时摆脱它,最终有人会发布一堆文本,将其推到极限。只是好奇,你会使用appengine中的哪些库来压缩语料库?你已经回答了自己的问题:是的,你应该将它存储到blobstore中,并保存对blob的引用。