boto3:流体 [错误 104] 对等方重置连接



我有一个来自 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)

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

添加重试配置似乎可以解决它

s3 = boto3.client('s3', config=Config(retries={'max_attempts': 3}))

最新更新