BigQuery v0.28 ChunkedEncodingError :('连接断开:IncompleteRead(读取46个字节)',IncompleteRead(读取46个字节))

时间:2018-02-12 19:38:40

标签: google-app-engine google-bigquery

我正在尝试将我们的BigQuery客户端库迁移到版本0.28。现在,当我试图获取表引用时,它失败了ChunkedEncodingError。这是我的代码:

def table_exists(client, table_reference):
    from google.cloud.exceptions import NotFound

    try:
        client.get_table(table_reference)
        return True
    except NotFound:
        return False

我们正在使用GAE标准环境。这可能是请求库的问题吗?

1 个答案:

答案 0 :(得分:2)

使用带有Python的已部署App Engine Standard的google-cloud-bigquery包时,我遇到了同样的ChunkedEncodingError错误。

这是使用Google App Engine的urllib3的问题。正如您在this link中看到的那样:

  

...如果您使用的是标准环境,那么您必须使用urllib3.contrib.appengine的AppEngineManager或使用套接字API

我使用了套接字API,它包括将以下内容添加到app.yaml文件中:

env_variables:
  GAE_USE_SOCKETS_HTTPLIB : 'true'

您拥有official google Sockets Python API docs here

之后你可以重新部署,它应该可以工作。

此外还有google-cloud-bigquery(0.30.0)的最新版本,如果你不断出现错误,请试用而不是0.28.0。