使用服务帐户请求Google大查询API时出现HTTP错误500

时间:2013-09-06 16:38:10

标签: google-bigquery

我一直在使用Big查询通过Web服务生成报告一年,但是在过去一个月左右的时间里,我注意到HTTP 500错误以响应我的大多数查询请求,即使没有对其进行任何更改网络服务。在我当前的设置中,我同时进行5次查询,并且5次查询中有4次失败,出现500错误。有时会返回所有5个查询,但最近这种情况很少发生,导致我的应用程序几乎无法使用。

我使用服务帐户令牌使用服务器到服务器身份验证,我的大查询客户端应用程序是根据此处给出的示例进行了严格建模 -

https://developers.google.com/bigquery/articles/dashboard#class

以下是完整的错误消息 -

  

HttpError:https://www.googleapis.com/bigquery/v2/projects/1021946877460/queries?val = json返回“意外。请再试一次。”>

我的bigquery客户端的片段 -

def generateToken():
    """
    generates OAuth2.0 token/credentials for login to google big query
    """
    credentials = SignedJwtAssertionCredentials(
        SERVICE_ACCOUNT_EMAIL,
        KEY, 
        "https://www.googleapis.com/auth/bigquery")
    return credentials

class BigQueryClient(object):
    def authenticate(self, credentials):
        http = httplib2.Http(proxy_info = httplib2.ProxyInfo(
                                 socks.PROXY_TYPE_HTTP, 
                                 PROXY_IP, 
                                 PROXY_PORT))
        http = credentials.authorize(http)
        return http

    def __init__(self, credentials, project):
        http = self.authenticate(credentials)
        self.service = build('bigquery', 'v2', http=http)

如果我在这里做错了或者在bigquery后端发生了任何变化,例如限制在一段时间内允许的查询请求数量,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:2)

500s总是BigQuery错误。我相信我已经跟踪了BigQuery服务器日志中的一个错误,并正在调查。