如何检查index.yaml中定义的数据存储索引是否在python代码中提供?
我正在使用Python 1.3.6 AppEngine SDK。
答案 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使用的; - )