来自gs cloud客户端的python ssl错误MaxRetryError或错误的版本号

来自gs cloud客户端的python ssl错误MaxRetryError或错误的版本号,python,ssl,google-cloud-storage,Python,Ssl,Google Cloud Storage,我有一个24/7运行的代码(在main.py文件中为true),具有多处理功能(12个工作进程),可以定期访问gcloud(列出存储桶、下载等) 我不认为这是一个常规的ssl错误,因为在一天的运行中,我只会遇到一次ssl错误,并且每个子进程都会访问自己的gs客户端。 我真的不明白为什么会发生错误或者如何修复它,因为同一个回溯给了我两种类型的错误。 在我增加员工数量之前,我一直在工作 我创建客户机的方式: def get_gs_bucket(): storage_client = stor

我有一个24/7运行的代码(在main.py文件中为true),具有多处理功能(12个工作进程),可以定期访问gcloud(列出存储桶、下载等) 我不认为这是一个常规的ssl错误,因为在一天的运行中,我只会遇到一次ssl错误,并且每个子进程都会访问自己的gs客户端。 我真的不明白为什么会发生错误或者如何修复它,因为同一个回溯给了我两种类型的错误。 在我增加员工数量之前,我一直在工作

我创建客户机的方式:

def get_gs_bucket():
    storage_client = storage.Client.from_service_account_json(JSON_CREDENTIALS_PATH)

    gs_bucket_name = BUCKET_NAME
    return storage_client.get_bucket(gs_bucket_name)
错误中提到的函数:

def list_gs_dir(prefix=''):
    sleep_random_prevent_gs_over_api_usage()
    return gs_bucket.list_blobs(delimiter='/', prefix=prefix)._get_next_page_response()['prefixes']
我的错误:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 387, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 383, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.6/http/client.py", line 1373, in getresponse
    response.begin()
  File "/usr/lib/python3.6/http/client.py", line 311, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.6/http/client.py", line 272, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.6/ssl.py", line 1012, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.6/ssl.py", line 874, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.6/ssl.py", line 631, in read
    v = self._sslobj.read(len, buffer)
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2309)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 440, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 639, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 398, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.googleapis.com', port=443): Max retries exceeded with url: <url> (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2309)'),))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/etl/work_wish/etl/etl/utils.py", line 97, in inner
    return func(*args, **kwargs)
  File "/opt/etl/work_wish/etl/etl/input_bucket.py", line 119, in get_recent_sstables_group_file_per_node
    sstables_ts_pairs = get_sstables_ts_pairs(node, table_type, last_ts)
  File "/opt/etl/work_wish/etl/etl/input_bucket.py", line 129, in get_sstables_ts_pairs
    gs_path_prefixes = list_gs_dir(prefix=node)
  File "/opt/etl/work_wish/etl/etl/input_bucket.py", line 35, in list_gs_dir
    return gs_bucket.list_blobs(delimiter='/', prefix=prefix)._get_next_page_response()['prefixes']
  File "/usr/local/lib/python3.6/dist-packages/google/api_core/page_iterator.py", line 419, in _get_next_page_response
    method=self._HTTP_METHOD, path=self.path, query_params=params
  File "/usr/local/lib/python3.6/dist-packages/google/cloud/_http.py", line 315, in api_request
    target_object=_target_object,
  File "/usr/local/lib/python3.6/dist-packages/google/cloud/_http.py", line 192, in _make_request
    return self._do_request(method, url, headers, data, target_object)
  File "/usr/local/lib/python3.6/dist-packages/google/cloud/_http.py", line 221, in _do_request
    return self.http.request(url=url, method=method, headers=headers, data=data)
  File "/usr/local/lib/python3.6/dist-packages/google/auth/transport/requests.py", line 470, in request
    **kwargs
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 520, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 630, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 506, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='www.googleapis.com', port=443): Max retries exceeded with url: <url> (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2309)'),))
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3/dist packages/urllib3/connectionpool.py”,第601行,在urlopen中
分块=分块)
文件“/usr/lib/python3/dist packages/urllib3/connectionpool.py”,第387行,在请求中
六、从(e,无)中提高
文件“”,第3行,从
文件“/usr/lib/python3/dist packages/urllib3/connectionpool.py”,第383行,在请求中
httplib_response=conn.getresponse()
文件“/usr/lib/python3.6/http/client.py”,第1373行,在getresponse中
response.begin()
文件“/usr/lib/python3.6/http/client.py”,第311行,在begin中
版本、状态、原因=self.\u读取\u状态()
文件“/usr/lib/python3.6/http/client.py”,第272行,处于读取状态
line=str(self.fp.readline(_MAXLINE+1),“iso-8859-1”)
readinto中的文件“/usr/lib/python3.6/socket.py”,第586行
返回自我。将袜子重新放入(b)
文件“/usr/lib/python3.6/ssl.py”,第1012行,在recv_中
返回自读(N字节,缓冲区)
文件“/usr/lib/python3.6/ssl.py”,第874行,已读
返回self.\u sslobj.read(len,buffer)
文件“/usr/lib/python3.6/ssl.py”,第631行,已读
v=自身读取(len,缓冲区)
ssl.SSLError:[ssl:error\u VERSION\u NUMBER]error VERSION NUMBER(\u ssl.c:2309)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3/dist packages/requests/adapters.py”,第440行,在send中
超时=超时
文件“/usr/lib/python3/dist packages/urllib3/connectionpool.py”,第639行,在urlopen中
_stacktrace=sys.exc_info()[2])
文件“/usr/lib/python3/dist packages/urllib3/util/retry.py”,第398行,增量
引发MaxRetryError(_池、url、错误或响应错误(原因))
urllib3.exceptions.MaxRetryError:HTTPSConnectionPool(host='www.googleapis.com',port=443):url超过了最大重试次数:(由SSLError(SSLError(1,'[SSL:error\u VERSION\u NUMBER]error VERSION NUMBER(_SSL.c:2309'))引起)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/opt/etl/work_-wish/etl/etl/utils.py”,第97行,内部
返回函数(*args,**kwargs)
文件“/opt/etl/work\u wish/etl/etl/input\u bucket.py”,第119行,在get\u recent\u sstables\u group\u File\u per\u节点中
sstables\u ts\u pairs=获取sstables\u ts\u对(节点、表类型、最后一个)
文件“/opt/etl/work_-wish/etl/etl/input_-bucket.py”,第129行,成对显示
gs\U路径\前缀=列表\ gs\U目录(前缀=节点)
文件“/opt/etl/work_wish/etl/etl/input_bucket.py”,列表目录第35行
返回gs_bucket.list_blob(分隔符='/',前缀=前缀)。\u获取下一页\u响应()['prefixes']
文件“/usr/local/lib/python3.6/dist packages/google/api\u core/page\u iterator.py”,第419行,在“获取下一页”响应中
method=self.\u HTTP\u方法,path=self.path,query\u params=params
api_请求中的文件“/usr/local/lib/python3.6/dist packages/google/cloud/_http.py”,第315行
target\u object=\u target\u object,
文件“/usr/local/lib/python3.6/dist packages/google/cloud/_http.py”,第192行,在请求中
返回self.\u do\u请求(方法、url、标题、数据、目标对象)
文件“/usr/local/lib/python3.6/dist packages/google/cloud/_http.py”,第221行,在请求中
返回self.http.request(url=url,method=method,headers=headers,data=data)
文件“/usr/local/lib/python3.6/dist packages/google/auth/transport/requests.py”,请求中第470行
**夸尔斯
文件“/usr/lib/python3/dist packages/requests/sessions.py”,请求中的第520行
resp=自我发送(准备,**发送)
文件“/usr/lib/python3/dist packages/requests/sessions.py”,第630行,在send中
r=适配器.send(请求,**kwargs)
文件“/usr/lib/python3/dist packages/requests/adapters.py”,第506行,在send中
raise SSLError(e,请求=请求)
requests.exceptions.SSLError:HTTPSConnectionPool(host='www.googleapis.com',port=443):url超过最大重试次数:(由SSLError引起(SSLError(1,[SSL:error\u VERSION\u NUMBER]error VERSION NUMBER(\u SSL.c:2309)))