如何在Java中获取应用程序引擎实体大小

时间:2013-07-29 06:03:38

标签: java google-app-engine

是否可以获得实体的大小?这似乎应该是一件简单的事情,但我看不出如何。

我看到了这个

com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large.

但我不确定该权利是否高于1mb。希望我能够发现它是否存在并为此做些什么。最好的做法是在catch子句中处理这种情况。

2 个答案:

答案 0 :(得分:2)

如果你想要估计大小,你可以在put()调用时获得该实体将被转换为的protoBuf的大小:

EntityProto ep=EntityTranslator.convertToPb(entity);

int size=ep.propertySize();

答案 1 :(得分:0)

我对此有一个估计:

EntityTranslator.convertToPb(entity).maxEncodingSize();