如何计算存储在Google App Engine中的实体的大小?

时间:2010-06-15 02:46:17

标签: google-app-engine

是否有一种简单的方法来计算存储在App Engine中的实体的大小?我想知道一个特定实体与实体大小达到1 MB上限的接近程度。

2 个答案:

答案 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

更新ndb

Kekito在下面的评论中指出,len(some_entity._to_pb().Encode()) 个实体需要采用不同的方法(谢谢Kekito!):

{{1}}

答案 1 :(得分:3)

Google有关如何编码和存储实体的文档:

http://code.google.com/appengine/articles/storage_breakdown.html