我的方案如下: 我有一个MapReduce作业在Datastore中的新实体(=表)上运行(使用com.google.appengine.tools.mapreduce.inputs.DatastoreInput)。实体是在别处创建的......
所以在第一次运行时,可能没有这种实体,在这种情况下,我根本不想开始工作。因此,在没有任何密钥的情况下,我想检查对于给定种类,是否存在任何实体或没有。
在API中找不到任何内容......
答案 0 :(得分:1)
public static boolean kindExists (String kind)
{
Query q = new Query(kind).setKeysOnly();
PreparedQuery pq = DatastoreServiceFactory.getDatastoreService().prepare(q);
return (CollectionUtils.isNotEmpty(pq.asList(FetchOptions.Builder.withLimit(1))));
}