Ich versuche, dynamische Miniaturansicht Service thumbor einzurichten und s3 als Speicher zu unterstützen, muss ich diese Community powered pip library for aws einrichten.aws keine Anmeldeinformationen Fehler
Es funktioniert gut auf meiner lokalen Umgebung, aber wenn ich versuche, es auf einem unserer Server zu hosten, bekomme ich NoCredentialsError. Ich gehe davon aus, dass dies wegen der verschiedenen Versionen von botocore ist (die neueste und eine, die von pip library installiert wurde). Hier ist Fehlerprotokoll:
File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 774, in get_component
# client config from the session
File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 174, in <lambda>
self._components.lazy_register_component(
File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 453, in get_data
- agent_version is the value of the `user_agent_version`
File "/usr/local/lib/python2.7/dist-packages/botocore/loaders.py", line 119, in _wrapper
data = func(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/loaders.py", line 364, in load_data
DataNotFoundError: Unable to load data for: _endpoints
2016-04-24 12:14:34 tornado.application:ERROR Future exception was never retrieved: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 230, in wrapper
yielded = next(result)
File "/usr/local/lib/python2.7/dist-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/dist-packages/tornado/concurrent.py", line 455, in wrapper
future.result()
File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 215, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 443, in wrapper
result = f(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tc_aws/aws/storage.py", line 107, in exists
self.storage.get(file_abspath, callback=return_data)
File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 455, in wrapper
future.result()
File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 215, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 443, in wrapper
result = f(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/tc_aws/aws/bucket.py", line 44, in get
Key=self._clean_key(path),
File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 97, in call
return self._make_api_call(operation_name=self.operation, api_params=kwargs, callback=callback)
File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 60, in _make_api_call
operation_model=operation_model, request_dict=request_dict, callback=callback)
File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 54, in _make_request
request_dict=request_dict, operation_model=operation_model, callback=callback)
File "/usr/local/lib/python2.7/dist-packages/tornado_botocore/base.py", line 32, in _send_request
request = self.endpoint.create_request(request_dict, operation_model)
File "/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py", line 126, in create_request
operation_name=operation_model.name)
File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 226, in emit
return self._emit(event_name, kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/hooks.py", line 209, in _emit
response = handler(**kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 90, in handler
return self.sign(operation_name, request)
File "/usr/local/lib/python2.7/dist-packages/botocore/signers.py", line 124, in sign
signer.add_auth(request=request)
File "/usr/local/lib/python2.7/dist-packages/botocore/auth.py", line 626, in add_auth
raise NoCredentialsError
NoCredentialsError: Unable to locate credentials
Konnte es mit der richtigen Reihenfolge behoben werden, in der ich Bibliotheken installiere? Weil die Pip-Bibliothek eine neuere Version von Botocore entfernt und eine ältere Version installiert.
EDIT:
Ich bin Prozesse mit Supervisor laufen und es scheint Prozess kippe Zugang aws Credentials
EDIT 2:
Das Problem mit der richtigen Konfiguration des Betreuers wurde aufgelöst. Der Benutzer für den Prozess von Supervisor gestartet hatte keinen Zugriff auf die Konfigurationsdatei
Offenbar haben Ihre Server keine ordnungsgemäß konfigurierten Anmeldeinformationen. Wie richten Sie Ihre Anmeldeinformationen auf Ihrem Server gegenüber Ihrem Entwicklungscomputer ein? Was die Versionen anbelangt, sieht es so aus, als ob tc_aws eine starke Abhängigkeit von botocore 1.2.0 hat, und so funktioniert es möglicherweise nicht, wenn Sie darüber hinaus aktualisieren. –
Ja tc_aws stuft Botocore auf 1.2.0 herunter. Mit der aktuellen Konfiguration habe ich versucht, eine Verbindung zu S3 Eimer von der Kommandozeile mit Boto3 und es funktioniert. Ich weiß nicht, was die richtige Reihenfolge der Installation dieser Bibliotheken ist. – pratsJ
@JordonPhillips Ich denke, ich habe das Problem herausgefunden. Ich führe Prozesse mit Supervisor und dann Prozess cant Zugriff aws Anmeldeinformationen – pratsJ