I started getting this error when trying to put a test csv to s3:
HTTPClientError: An HTTP Client raised and unhandled exception: Timeout value connect was Timeout(connect=60, read=60, total=None), but it must be an int, float or None.
It was working fine at first and then just started giving this seemingly out of nowhere. I have the same script sitting on an EC2 server and it works fine from there, but does not work locally
import boto3
import pandas as pd
from datetime import datetime, timedelta
from io import StringIO
ACCESS_KEY_ID = 'removed'
ACCESS_SECRET_KEY = 'removed'
region_name = 'us-west-2'
client = boto3.client( service_name = "s3", region_name =region_name ,
aws_access_key_id=ACCESS_KEY_ID, aws_secret_access_key=ACCESS_SECRET_KEY
)
s3_resource = boto3.resource('s3', aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=ACCESS_SECRET_KEY)
dest_bucket = 'mybucket'
df = pd.DataFrame({'Animal': ['Falcon', 'Falcon',
'Parrot', 'Parrot'],
'Max Speed': [380., 370., 24., 26.]})
csv_buffer = StringIO()
df.to_csv(csv_buffer, index = False)
s3_resource.Object(dest_bucket, 'test.csv').put(Body=csv_buffer.getvalue())
Does anybody know what might be causing this? Full traceback
Traceback (most recent call last):
File "<ipython-input-23-6e25ea0d6e73>", line 30, in <module>
s3_resource.Object(dest_bucket, 'ec2-test/' + 'ec2_testLIVe.csv').put(Body=csv_buffer.getvalue())
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\boto3\resources\factory.py", line 520, in do_action
response = action(self, *args, **kwargs)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\boto3\resources\action.py", line 83, in __call__
response = getattr(parent.meta.client, operation_name)(**params)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\client.py", line 648, in _make_api_call
operation_model, request_dict, request_context)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\client.py", line 667, in _make_request
return self._endpoint.make_request(operation_model, request_dict)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\endpoint.py", line 102, in make_request
return self._send_request(request_dict, operation_model)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\endpoint.py", line 137, in _send_request
success_response, exception):
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\endpoint.py", line 231, in _needs_retry
caught_exception=caught_exception, request_dict=request_dict)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\hooks.py", line 211, in _emit
response = handler(**kwargs)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\retryhandler.py", line 183, in __call__
if self._checker(attempts, response, caught_exception):
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\retryhandler.py", line 251, in __call__
caught_exception)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\retryhandler.py", line 269, in _should_retry
return self._checker(attempt_number, response, caught_exception)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\retryhandler.py", line 317, in __call__
caught_exception)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\retryhandler.py", line 223, in __call__
attempt_number, caught_exception)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\retryhandler.py", line 359, in _check_caught_exception
raise caught_exception
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\endpoint.py", line 200, in _do_get_response
http_response = self._send(request)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\endpoint.py", line 244, in _send
return self.http_session.send(request)
File "C:\Users\mkjacks5\AppData\Local\Continuum\anaconda3\lib\site-packages\botocore\httpsession.py", line 298, in send
raise HTTPClientError(error=e)
Windows machine, python 3. Looks like it is complaining about the connect argument value not being a number, but it says 60? Couldn't find anything about this when googling, appreciate any help