是否有一种简单的方法来计算存储在App Engine中的实体的大小?我想知道一个特定实体与实体大小达到1 MB上限的接近程度。
答案 0 :(得分:18)
App引擎将每个实体存储为protobuf。您可以使用db.model_to_protobuf()
描述的len()
函数手动将实体转换为protobuf,然后使用标准from google.appengine.ext import db
sz_in_bytes = len(db.model_to_protobuf(some_entity).Encode())
方法确定其大小(以字节为单位)。
使用示例:
ndb
Kekito在下面的评论中指出,len(some_entity._to_pb().Encode())
个实体需要采用不同的方法(谢谢Kekito!):
{{1}}
答案 1 :(得分:3)
Google有关如何编码和存储实体的文档:
http://code.google.com/appengine/articles/storage_breakdown.html