I believe this is the same issue mentioned in the thumb-community/aws repo, however that post looks like it's been collecting dust since 2018
Hoping it might get a bit more traction here. Line numbers and some details are different (as expected) but use case and behavior sound identical.
2020-05-05 17:58:22 tornado.application:ERROR Future exception was never retrieved: Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 307, in wrapper
yielded = next(result)
File "/usr/local/lib/python2.7/site-packages/thumbor/handlers/imaging.py", line 31, in check_image
exists = yield gen.maybe_future(self.context.modules.storage.exists(kw['image'][:self.context.config.MAX_ID_LENGTH]))
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 483, in wrapper
future.result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 471, in wrapper
result = f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/tc_aws/aws/storage.py", line 109, in exists
self.storage.get(file_abspath, callback=return_data)
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 483, in wrapper
future.result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 471, in wrapper
result = f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/tc_aws/aws/bucket.py", line 71, in get
Key=self._clean_key(path),
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 170, in call
callback=callback
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 126, in _make_api_call
callback=callback
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 117, in _make_request
callback=callback
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 77, in _send_request
request = self.endpoint.create_request(request_dict, operation_model)
File "/usr/local/lib/python2.7/site-packages/botocore/endpoint.py", line 116, in create_request
operation_name=operation_model.name)
File "/usr/local/lib/python2.7/site-packages/botocore/hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "/usr/local/lib/python2.7/site-packages/botocore/hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "/usr/local/lib/python2.7/site-packages/botocore/hooks.py", line 211, in _emit
response = handler(**kwargs)
File "/usr/local/lib/python2.7/site-packages/botocore/signers.py", line 90, in handler
return self.sign(operation_name, request)
File "/usr/local/lib/python2.7/site-packages/botocore/signers.py", line 157, in sign
auth.add_auth(request)
File "/usr/local/lib/python2.7/site-packages/botocore/auth.py", line 425, in add_auth
super(S3SigV4Auth, self).add_auth(request)
File "/usr/local/lib/python2.7/site-packages/botocore/auth.py", line 357, in add_auth
raise NoCredentialsError
NoCredentialsError: Unable to locate credentials
2020-05-05 17:58:32 tornado.application:ERROR Future exception was never retrieved: Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 307, in wrapper
yielded = next(result)
File "/usr/local/lib/python2.7/site-packages/thumbor/handlers/imaging.py", line 31, in check_image
exists = yield gen.maybe_future(self.context.modules.storage.exists(kw['image'][:self.context.config.MAX_ID_LENGTH]))
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 483, in wrapper
future.result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 471, in wrapper
result = f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/tc_aws/aws/storage.py", line 109, in exists
self.storage.get(file_abspath, callback=return_data)
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 483, in wrapper
future.result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 471, in wrapper
result = f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/tc_aws/aws/bucket.py", line 71, in get
Key=self._clean_key(path),
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 170, in call
callback=callback
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 126, in _make_api_call
callback=callback
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 117, in _make_request
callback=callback
File "/usr/local/lib/python2.7/site-packages/tornado_botocore/base.py", line 77, in _send_request
request = self.endpoint.create_request(request_dict, operation_model)
File "/usr/local/lib/python2.7/site-packages/botocore/endpoint.py", line 116, in create_request
operation_name=operation_model.name)
File "/usr/local/lib/python2.7/site-packages/botocore/hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "/usr/local/lib/python2.7/site-packages/botocore/hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "/usr/local/lib/python2.7/site-packages/botocore/hooks.py", line 211, in _emit
response = handler(**kwargs)
File "/usr/local/lib/python2.7/site-packages/botocore/signers.py", line 90, in handler
return self.sign(operation_name, request)
File "/usr/local/lib/python2.7/site-packages/botocore/signers.py", line 157, in sign
auth.add_auth(request)
File "/usr/local/lib/python2.7/site-packages/botocore/auth.py", line 425, in add_auth
super(S3SigV4Auth, self).add_auth(request)
File "/usr/local/lib/python2.7/site-packages/botocore/auth.py", line 357, in add_auth
raise NoCredentialsError
NoCredentialsError: Unable to locate credentials```