GAE - 无法从BigQuery API获取URL

时间:2015-05-13 11:44:41

标签: python-2.7 google-app-engine google-oauth google-bigquery oauth2client

我们的集成平台现在得到了几个"无法获取URL:..."每天都有错误我不知道原因是什么。

首先,GAE尝试通过BigQuery API使用OAuth2从应用程序内部授权给BigQuery。它每秒钟都会尝试超过30秒(这只是30条相似线中的一条):

File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/connectors/connector_XXX_v1_0.py", line 189, in send
    status = self._verify_status(resp, content)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/connectors/connector_XXX_v1_0.py", line 250, in _verify_status
    jobId=jobReference).execute()
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/oauth2client/util.py", line 128, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/apiclient/http.py", line 676, in execute
    body=self.body, headers=self.headers)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/oauth2client/util.py", line 128, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/oauth2client/client.py", line 490, in new_request
    redirections, connection_type)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/httplib2/__init__.py", line 1570, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/httplib2/__init__.py", line 1317, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/base/data/home/apps/s~XXX/processes:uno.383135852015228853/modules/httplib2/__init__.py", line 1286, in _conn_request
    response = conn.getresponse()
  File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/gae_override/httplib.py", line 536, in getresponse
    'An error occured while connecting to the server: %s' % e)
error: An error occured while connecting to the server: Unable to fetch URL: https://www.googleapis.com/bigquery/v2/projects/XXX/jobs/job_d_ONsjBebYjreJuDD-ZdEqCHYv0?alt=json

下面是跟踪本身(就在上面显示的日志之后):

if [ -z "$ANDROID_NDK" -o -z "$ANDROID_SDK" ]; then
    echo "You must define ANDROID_NDK, ANDROID_SDK before starting."
    echo "They must point to your NDK and SDK directories.\n"
    exit 1
fi

这些来自从Google Datastore获取数据并加载到BigQuery的流程。

这些错误是不确定的。有时他们会发生。有时候不要。我在这里看不到任何模式。

有一点需要注意:直到2015-05-01,这些流程都没有问题。数据无负担地加载到BQ。

我的假设是它可能与OAuth2.0有某种关系。我们使用

oauth2client v1.1。最新的是1.4.7。也许更新会有帮助吗?或问题出在其他地方?

1 个答案:

答案 0 :(得分:0)

要最小化此类错误,请在将数据插入BigQuery时在应用程序中实施重试策略。浏览document以获得更好的解释