如何检查AppEngine上是否正在提供DataStore索引?

时间:2010-08-25 02:32:45

标签: python google-app-engine

如何检查index.yaml中定义的数据存储索引是否在python代码中提供?

我正在使用Python 1.3.6 AppEngine SDK。

2 个答案:

答案 0 :(得分:2)

尝试执行需要该索引的查询。如果它引发了NeedIndexError,则表示尚未上传或尚未上传。

答案 1 :(得分:0)

我不认为有一种方法可以检查而不添加一些日志记录到SDK代码。如果您正在使用SQLite stub__FindIndexForQuery,第1114-1140行,则是查找适用于查询的索引的部分,并且(在第1140行),返回,并引用:

  

entity_pb.CompositeIndex PB,如果是   存在合适的指数;否则没有

在那一点上进行一点点记录(当它即将结束时已经耗尽了循环 - 这就是它返回None的方式)将为您提供实际使用的所有索引的跟踪,作为日志的一部分当然。它返回的协议缓冲区是this file中定义的类的实例,从第2576行开始。

如果您能解释为什么要了解这一点,我认为在App Engine跟踪器上打开功能请求是非常合理的,要求Google添加我建议的日志记录,这样你就不会我必须继续维护您编辑的文件版本!

(如果您使用文件存根,相关文件为here,而仪器的部分位于第824行及以下;当然,只有在您运行SDK时才会使用此部分“需要索引”模式,AKA“严格模式”,否则,索引中创建,而不是由,SDK使用的; - )