0

是否有可能获得实体的大小?看起来这应该是一件简单的事情,但我不知道怎么做。

我看到这个

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

但我不确定实体是否高于 1mb。希望我能检测到它是否是并对此采取措施。在 catch 子句中处理这种情况是否是最佳实践。

4

2 回答 2

3

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

EntityProto ep=EntityTranslator.convertToPb(entity);

int size=ep.propertySize();
于 2013-09-13T23:00:35.830 回答
0

我对此进行了估计:

EntityTranslator.convertToPb(entity).maxEncodingSize();
于 2019-03-05T15:35:07.733 回答