限制为 1MB ,according to the docs,我认为这意味着1024**2
个字节,但显然不是。
我有一个简单的函数,它将大型python对象串行化为JSON,将JSON字符串拆分为更小的块,并将块(作为BlobProperty)和单独的索引实体放入数据存储区(和memcache,使用ndb)。还有另一个功能可以解决这个问题。
首先,我尝试拆分成1024**2
块,但数据存储区抱怨它。目前我正在使用1000**2
,它运行正常。我可以在这里回答我自己的问题,如果它不是Guido的this comment,代码可以分成950000个字节的块。如果Guido这样做,那一定是我想的原因。为什么50K安全边际?
也许我们可以得到一个明确的答案,不要浪费一个字节。我知道Blobstore。
答案 0 :(得分:1)
限制为1MB - 即2 20 字节 - 但该限制适用于实体的编码版本,其中包括所有元数据和编码开销。
一种选择是留下一些摆动空间,就像你正在做的那样。另一种方法是捕获错误并在必要时细分块。
但是,如果你不得不像这样拆分,那么Blobstore可能是比数据存储更好的数据选择。