Google cloud storage Google云存储批量移动文件失败&引用;“对等端重置连接”;

Google cloud storage Google云存储批量移动文件失败&引用;“对等端重置连接”;,google-cloud-storage,Google Cloud Storage,我怀疑下面的代码耗尽了连接容量等。是否有我可以发送批处理请求的接口?还是睡几分钟 def archive_pending_blobs(bucket: Bucket, blobs: typing.List[Blob], pending_prefix: str, loaded_prefix: str) -> None: """Archive pending blobs to loaded prefix.""" try:

我怀疑下面的代码耗尽了连接容量等。是否有我可以发送批处理请求的接口?还是睡几分钟

def archive_pending_blobs(bucket: Bucket, blobs: typing.List[Blob], pending_prefix: str,
                          loaded_prefix: str) -> None:
    """Archive pending blobs to loaded prefix."""
    try:
        for b in blobs:
            bucket.copy_blob(b, bucket, b.name.replace(pending_prefix, loaded_prefix))
        bucket.delete_blobs(blobs)
    except Exception as e:
        print('gcs achieving error for path: {} err: {}'.format(pending_prefix, e))
        raise e
回溯(最近一次调用):文件“/env/local/lib/python3.7/site packages/urllib3/connectionpool.py”,urlopen chunked=chunked)文件“/env/local/lib/python3.7/site packages/urllib3/connectionpool.py”第600行,从(e,None)文件”中的第2行,从文件中的第384行“/env/local/lib/python3.7/site packages/urllib3/connectionpool.py”,第380行,在“发出请求httplib\u response=conn.getresponse()中 文件“/opt/python3.7/lib/python3.7/http/client.py”,第1321行,在getresponse-response.begin()文件“/opt/python3.7/lib/python3.7/http/client.py”,第296行,在begin-version,status,reason=self.\u-read\u status()文件“/opt/python3.7/lib/python3.7/http/client.py”,第257行,在“iso-8859-1”中文件“/opt/python3.7/lib/python3.7/socket.py”,第589行,在readinto-return-self中。(b)文件“/opt/python3.7/lib/python3.7/ssl.py”,第1049行,在recv\u-into-return-self.read(nbytes,buffer)文件“/opt/python3.7/lib/python3.7/ssl.py”,第908行,在read-return-return-self中。(sslobj.read(len,buffer,buffer)ConnectionResetError:[对等端在处理上述异常期间重置连接,发生了另一个异常:回溯(最近一次调用):文件“/env/local/lib/python3.7/site packages/requests/adapters.py”,第445行,在发送超时=超时文件“/env/local/lib/python3.7/site packages/urllib3/connectionpool.py”,第638行,在urlopen\u stacktrace=sys.exc\u info中()[2])文件“/env/local/lib/python3.7/site packages/urllib3/util/retry.py”,第367行,增量提升六个。重新提升(类型(错误),错误,_stacktrace)文件“/env/local/lib/python3.7/site packages/urllib3/packages/six.py”,第685行,重新提升值“,第600行,在urlopen chunked=chunked)文件“/env/local/lib/python3.7/site packages/urlib3/connectionpool.py”中,第384行,在“提出请求六个。从(e,无)文件中提出请求”,第2行,从文件“/env/local/lib/python3.7/site packages/urlib3/connectionpool.py”中提出请求,第380行,在“提出请求httplib\u response=conn.getresponse”文件中“/opt/python3.7/lib/python3.7/http/client.py”,第1321行,在getresponse-response.begin()文件中“/opt/python3.7/lib/python3.7/http/client.py”,第296行,在begin-version,status,reason=self.\u read\u status()文件中“/opt/python3.7/lib/python3.7/http/client.py”,第257行,在读取状态行=str(self.fp.fp.readline+1),“iso-8859-1”)文件中”/opt/python3.7/lib/python3.7/socket.py”,第589行,在readinto返回self中。_sock.recv_进入(b)文件“/opt/python3.7/lib/python3.7/ssl.py”,第1049行,在recv_进入返回self.read(nbytes,buffer)文件“/opt/python3.7/lib/python3.7/ssl.py”,第908行,在read返回self中。_sslobj.read(len,buffer,buffer)urlib3.protoleror:('Connection aborted.',ConnectionResetError(104,'Connection reset by peer'))在处理上述异常期间,发生了另一个异常:回溯(最近一次调用):文件“/user\u code/main.py”,第230行,在bq\u合并归档文件中\u挂起的\u blobs(bucket,blobs[min\u idx:max\u idx],挂起的\u前缀,加载的\u前缀)文件“/user\u code/main.py“,第44行,在存档待处理的blobs中,提出e文件“/user\u code/main.py”,第40行,在存档待处理的blobs bucket.copy\blob(b,bucket,b.name.replace(pending\u prefix,loaded\u prefix))文件“/env/local/lib/python3.7/site packages/google/cloud/storage/bucket.py”,第711行,在copy\u blob\u target\u object=new\u blob,File中“/env/local/lib/python3.7/site packages/google/cloud/_http.py”,第290行,在api_请求头=头,目标对象=_目标对象)文件/env/local/lib/python3.7/site packages/google/cloud/_http.py中,_-do_请求(方法、url、头、数据、目标对象)文件中的第183行”/env/local/lib/python3.7/site packages/google/cloud/_http.py”,第212行,在_do_请求url=url,method=method,headers=headers,data=data)文件“/env/local/lib/python3.7/site packages/google/auth/transport/requests.py”,第201行,在请求方法,url,data=data,headers=request\u headers,**kwargs)文件中”/env/local/lib/python3.7/site-packages/requests/sessions.py”,第512行,在request resp=self.send(prep,**send_-kwargs)文件“/env/local/lib/python3.7/site-packages/requests/sessions.py”,第622行,在send r=adapter.send(request,**kwargs)文件“/env/local/lib/python3.7/site-packages/requests/adapters.py“,第495行,在send-raise ConnectionError(err,request=request)requests.exceptions.ConnectionError:('Connection aborted',,ConnectionResetError(104,'Connection reset by peer'))中,在处理上述异常期间,发生了另一个异常:回溯(最近一次调用):File“/env/local/lib/python3.7/site packages/google/cloud/functions\u v1beta2/worker.py”,li

根据这篇关于对等方重置连接的文章,如果远程服务器发送RST数据包以中间断开连接,这似乎是一个致命错误

这涉及到如何解决问题。给出的解决方案是使用
time.sleep
,但正如我们在评论中所讨论的,在您的案例中不起作用。这就是为什么我建议使用以下不同方法:

截断指数退避是网络应用程序的一种标准错误处理策略,在这种策略中,客户端定期重试失败的请求,请求之间的延迟会增加。 [……]

通过客户端库访问云存储。请注意,某些客户端库(如Node.js的云存储客户端库)具有内置的指数回退功能


Python没有内置的指数回退功能,但是Python中有一个使用此方法的函数。

Hi!在这个问题中,提供更多信息会很好。为什么您怀疑这是连接容量问题?批准