我收到回复我完全没想到我正在通过appengine进行查询。
而不是根据BigQuery文档预期的那种“bigquery#queryResults”的响应,我得到了
u'basePath': u'/bigquery/v2/', u'kind': u'discovery#restDescription',....
似乎只会发生需要10-15秒及以上的查询,我怀疑这是与Appengine动态60秒超时的一些奇怪的交互。
我在python27上运行,并使用google-api-python-client来处理请求。
尝试了其他一些场景:
在后端运行 - 没有应用appengine请求超时 - 同样的事情:〜9.8s进入请求发现json被返回
再次在dev(localhost)中运行它,以确保:一切都很好
最有趣,使用较短的超时4s (而不是之前的35s)运行它会导致之后的相同发现回复相同的9.8s 间隔
答案 0 :(得分:0)
来自App Engine quota docs:
Each incoming HTTP request can be no larger than 32MB.
您的查询可能返回超过32 MB的数据,这导致HTTP 500错误,导致API提供您在上面看到的输出(这是BigQuery API Discovery文档信息 - 此响应可能是与Python Client lib如何处理App Engine上的错误响应有关的单独问题。
建议的解决方法:如果查询响应返回大量数据,则可以使用maxResults参数将响应页中返回的行数限制为较小的数量。然后,您可以连续调用API以检索后续数据页。
答案 1 :(得分:0)