如何从GAE服务器获取所有实体类型? 这可能吗? 我想为GAE制作一个数据库管理工具。
答案 0 :(得分:1)
您可以使用Metadata API。例如:
Query query = new Query(Entities.KIND_METADATA_KIND);
DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
Iterable<Entity> entityIterable = datastoreService.prepare(query).asIterable();
for(Entity entity : entityIterable) {
System.out.println("Entity kind: " + entity.getKey().getName());
}
答案 1 :(得分:0)
执行此操作的最佳方法是以编程方式读取数据存储区统计信息。请参阅Python或Java中的相关文档。这是Python中的一个简单示例:
>>> from google.appengine.ext.db import stats
>>> kinds = stats.KindStat.all().fetch(1000)
>>> kind_names = [x.kind_name for x in kinds]
>>> kind_names
[u'A', u'AAFoo', u'AModel', u'ASDBD', u'Abc', u'Accumulator', u'Activity', # ...
您可以在interactive console。
中自行测试数据存储区统计信息还提供了大量其他详细信息,这些信息在编写数据存储区管理工具时非常有用。祝你好运!