В настоящее время у меня возникает проблема при загрузке файлов на S3:
File "/home/aviral/dev/versionator-athena/venv/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/home/aviral/dev/versionator-athena/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/home/aviral/dev/versionator-athena/venv/lib/python3.6/site-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3-ap-south-1.amazonaws.com', port=443): Max retries exceeded with url: /sc-pallet/test/temp_feb12_1525/check_pk_s3_append/version_1/version_two_million_eleven_columns.csv_insert_2?uploadId=VLzRQhq0rN1NIHJo0OCvTjbwifmHTfmPfYQZWFdxjr_7oPfC4v5ME7WC_entIDqvW9.AuY.UGQTS1fH2SdYmGCD1ieZPZ7q3Z4qdUaRUqLX2V144Gq4W3H.Ck1fH4Yrx&partNumber=1 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6b3bedd240>: Failed to establish a new connection: [Errno 110] Connection timed out',))
Мой код для загрузки объектов:
def upload(self, cloud_path, local_path):
print("Inside upload of storage module.")
print("Uploading the {} as {}".format(
local_path,
cloud_path
))
with open(local_path, 'rb') as iterator:
self.driver.upload_object_via_stream(
iterator=iterator,
container=self.container,
object_name=cloud_path,
)
Поскольку файлы очень большие, я решилзагрузить через стрим.Это вызывает проблему, поэтому мне нужно добавить конфигурацию тайм-аута соединения при загрузке.