Как избежать ConnectionResetError при отправке zipfile через boto3 на ec2? - PullRequest
0 голосов
/ 17 июня 2019

Я создал zip-файл с несколькими сценариями и пытаюсь отправить этот файл себе / другим в организации, используя функцию send_raw_email () из boto3.В прошлом я часто делал это без проблем, но на этот раз я неоднократно получал следующую ошибку ConnectionResetError: [Errno 104] Connection reset by peer

Я не понимаю, почему это происходит сейчас, так как я использовал эту функцию длянесколько месяцев (отправка файлов .zip или .csv) без каких-либо проблем, за исключением случаев, когда вложение превышает размер файла, разрешенный AWS (с другой трассировкой)

Каков наилучший способ распространения этогоэлектронное письмо с вложенным файлом zipfile?

вот подробности файла, отображаемые после выполнения ls -l:

-rw-rw-r-- 1 ec2-user ec2-user 409671984 Jun 17 19:46 foo_bar_file.zip

, а вот полный обратный поиск:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ec2-user/customer_reports_python/reports_utils.py", line 230, in send_report
    ses.send_raw_email(msg.as_string(), source= msg['From'], destinations=to_emails)
  File "/home/ec2-user/py3/lib64/python3.6/dist-packages/boto/ses/connection.py", line 323, in send_raw_email
    return self._make_request('SendRawEmail', params)
  File "/home/ec2-user/py3/lib64/python3.6/dist-packages/boto/ses/connection.py", line 102, in _make_request
    data=urllib.parse.urlencode(params)
  File "/home/ec2-user/py3/lib64/python3.6/dist-packages/boto/connection.py", line 1071, in make_request
    retry_handler=retry_handler)
  File "/home/ec2-user/py3/lib64/python3.6/dist-packages/boto/connection.py", line 1030, in _mexe
    raise ex
  File "/home/ec2-user/py3/lib64/python3.6/dist-packages/boto/connection.py", line 943, in _mexe
    request.body, request.headers)
  File "/usr/lib64/python3.6/http/client.py", line 1254, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1075, in _send_output
    self.send(chunk)
  File "/usr/lib64/python3.6/http/client.py", line 996, in send
    self.sock.sendall(data)
  File "/usr/lib64/python3.6/ssl.py", line 975, in sendall
    v = self.send(byte_view[count:])
  File "/usr/lib64/python3.6/ssl.py", line 944, in send
    return self._sslobj.write(data)
  File "/usr/lib64/python3.6/ssl.py", line 642, in write
    return self._sslobj.write(data)
ConnectionResetError: [Errno 104] Connection reset by peer```
...