Ich benutze Python und Boto
das ist mein Code:
%Vor%manchmal (erscheint zufällig) ich bekomme diese Ausnahme:
S3ResponseError: S3ResponseError: 404 nicht gefunden
HINWEIS: Die Datei wird von einem Server hochgeladen, und unmittelbar danach führt ein anderer Server (auf einem anderen Kontinent) den obigen Code aus.
die Rückverfolgung:
Traceback (letzter Aufruf zuletzt): Datei "/test.py", Zeile 222, in _process_response
data = key.get_contents_as_string () Datei "/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
Zeile 1201, in get_contents_as_string response_headers = response_headers) Datei "/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
Zeile 1093, in get_contents_to_file response_headers = response_headers) Datei "/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
Zeile 996, in get_file override_num_retries = override_num_retries) Datei "/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
Linie 211, offen override_num_retries = override_num_retries) Datei "/usr/lib/python2.6/site-packages/boto-2.1.1-py2.6.egg/boto/s3/key.py",
Zeile 165, in open_read self.resp.reason, body) S3ResponseError: S3ResponseError: 404 nicht gefunden
NoSuchKey
Der angegebene Schlüssel nicht exist.key_nameeidhost_id
Ich bekomme den Schlüssel, aber wenn ich versuche, es zu lesen, bekomme ich "nicht gefunden". irgendeine Idee ?
Dies ist das erwartete Verhalten, gemäß Amazon S3-Entwicklerhandbuch :
... Informationen zu den Änderungen werden jedoch möglicherweise nicht sofort in Amazon S3 repliziert, und Sie können die folgenden Verhaltensweisen beobachten: Ein Prozess schreibt ein neues Objekt in Amazon S3 und versucht sofort, es zu lesen. Bis die Änderung vollständig weitergegeben wurde, meldet Amazon S3 möglicherweise, dass der Schlüssel nicht existiert.
Tags und Links python amazon-s3 amazon-web-services web-services boto