boto3:StreamingBody[Errno 104]连接被对等方重置

2024-09-27 07:26:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个来自s3的StreamingBody,需要打开一段较长的时间(由于处理时间长,文件非常大)。这偶尔会导致错误[Errno 104] Connection reset by peer

我不确定是什么原因造成的,但这里是一个摘录:

import boto3

def csv_stream(s3, key):
    obj = s3.get_object(Bucket='bucket', Key=key)
    body = obj['Body']
    text = codecs.getreader('utf-8')(body)
    return csv.reader(text)

s3 = boto3.client('s3')

for key in get_keys():
    for row in csv_stream(s3, key):
        do_long_transformations(row)

这项工作通常至少需要半天才能完成。 由于重新启动作业总是非常昂贵,因此这里的修复方法是什么


Tags: 文件csvkeytextinobjforstream

热门问题