python-2.7 - GAE - 无法从 BigQuery API 获取 URL

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

我们的集成平台现在每天都会收到几个“无法获取 URL:...”错误。我不知道这是什么原因。

首先,GAE 尝试通过 BigQuery API 从应用程序内部向 BigQuery 授权 OAuth2 .它每秒尝试超过 30 秒(这只是 30 条类似行中的 1 条):

2015-05-12 05:59:02.727
URL being requested: https://www.googleapis.com/bigquery/v2/projects/XXX/jobs/job_w-z5K2zQObXeSaLy3hx7m4FOMXc?alt=json

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

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

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

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

需要注意的一件事:直到 2015 年 5 月 1 日,这些流程都没有问题。数据轻松加载到 BQ。

我的假设是它可能以某种方式与 OAuth2.0 相关。我们使用

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

最佳答案

要最大限度地减少此类错误,请在将数据插入 BigQuery 时在您的应用程序中实现重试策略。通过 document为了更好的解释

关于python-2.7 - GAE - 无法从 BigQuery API 获取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30213848/

相关文章:

python - 如何检查 input/raw_input 是否包含列表中的项目。 Python代码

python - 在 Python 上计算三分之一

python - 阻止来自 *.appspot.com 的请求并在 Google App Engine 中强制自定义域

python - ndb.toplevel 用于 python 方法与请求处理程序

iphone - 谷歌 OAuth 错误 -1001

google-oauth - 如何在 Jupyter 笔记本中最轻松地使用 gspread 进行身份验证?

google-drive-api - 拒绝在框架中显示,因为它将 'X-Frame-Options' 设置为 'SAMEORIGIN'

python - 使用 2 个列表的双 for 循环与使用 2 个文本文件的双循环相比 - 不同的结果

python - 插入条件

python - Imgur API 不会从相册中删除图像