Die REST-Fehlerantwort - Amazon Simple Storage Service

Willkommen im neuen Amazon-S3-Benutzerhandbuch! Das Amazon-S3-Benutzerhandbuch kombiniert Informationen und Anweisungen aus den drei eingestellten Handbüchern: Amazon-S3-Entwicklerhandbuch, Benutzerhandbuch der Amazon-S3-Konsole und Amazon S3 – Handbuch Erste Schritte.

Die REST-Fehlerantwort

Wenn auf eine REST-Anfrage ein Fehler zurückgegeben wird, ist die HTTP-Antwort wie folgt aufgebaut:

  • Ein XML-Fehlerdokument als Antworttext

  • Content-Type: application/xml

  • Der entsprechende 3xx-, 4xx- oder 5xx-HTTP-Statuscode

Nachfolgend finden Sie ein Beispiel für eine REST-Fehlermeldung.

<?xml version="1.0" encoding="UTF-8"?> <Error> <Code>NoSuchKey</Code> <Message>The resource you requested does not exist</Message> <Resource>/mybucket/myfoto.jpg</Resource> <RequestId>4442587FB7D0A2F9</RequestId> </Error>

Weitere Informationen zu Amazon S3-Fehlern finden Sie unter ErrorCodeList.

Antwort-Header

Die folgenden Antwort-Header werden von allen Operationen zurückgegeben:

  • x-amz-request-id: Eine eindeutige ID, die das System jeder Anfrage zuordnet. In dem unwahrscheinlichen Fall, dass Sie Probleme mit Amazon S3 haben, kann Ihnen diese helfen, das Problem zu beheben.

  • x-amz-id-2: Ein spezielles Token, das uns hilft, Probleme aufzulösen.

Antwort auf einen Fehler

Bei einer fehlerhaften Amazon S3-Anforderung erhält der Client eine Fehlermeldung zurück. Das genaue Format der Fehlermeldung ist spezifisch für die API. Die REST-Fehlermeldung beispielsweise unterscheidet sich von der SOAP-Fehlermeldung. Alle Fehlermeldungen haben jedoch gemeinsame Elemente.

Anmerkung

Die SOAP-Unterstützung über HTTP ist veraltet, steht über HTTPS aber noch zur Verfügung. Die neuen Amazon S3-Funktionen werden unter SOAP nicht unterstützt. Wir empfehlen, entweder die REST API oder die AWS SDKs zu verwenden.

Fehlercode

Der Fehlercode ist eine Zeichenfolge handelt, die eine Fehlerbedingung eindeutig identifiziert. Er ist für Programme vorgesehen, die Fehler dem Typ nach erkennen und verarbeiten. Viele Fehlercode gibt es für SOAP- und REST APIs, einige sind jedoch spezifisch für die API. NoSuchKey beispielsweise ist universell, während UnexpectedContent nur in Reaktion auf eine ungültige REST-Anfrage auftreten kann. In jedem Fall haben SOAP-Fehlercodes ein Präfix, das in der Fehlercodetabelle angegeben ist, ein NoSuchKey-Fehler wird also in SOAP als Client.NoSuchKey zurückgegeben.

Anmerkung

Die SOAP-Unterstützung über HTTP ist veraltet, steht über HTTPS aber noch zur Verfügung. Die neuen Amazon S3-Funktionen werden unter SOAP nicht unterstützt. Wir empfehlen, entweder die REST API oder die AWS SDKs zu verwenden.

Fehlermeldung

Die Fehlermeldung enthält eine generische Beschreibung der Fehlerbedingung in englischer Sprache. Sie ist für dafür vorgesehen, von Menschen gelesen zu werden. Einfache Programme zeigen dem Endbenutzer die Meldung direkt an, wenn sie auf eine Fehlerbedingung treffen, die sie nicht kennen, oder die sie nicht verarbeiten können. Komplexere Programme mit einer umfangreicheren Fehlerverarbeitung und einer geeigneten Internationalisierung werden die Fehlermeldung eher ignorieren.

Weitere Details

Viele Fehlermeldungen enthalten zusätzliche strukturierte Daten, die von einem Entwickler gelesen und interpretiert werden, der Programmfehler diagnostiziert. Wenn Sie beispielsweise einen Content-MD5-Header mit einer REST PUT-Anfrage senden, die nicht mit dem auf dem Server berechneten Digest übereinstimmt, erhalten Sie einen BadDigest-Fehler. Die Fehlermeldung enthält auch als Details den von uns berechneten Digest, sowie den Digest, den Sie erwarten und uns mitgeteilt haben. Während der Entwicklung können Sie diese Informationen nutzen, um den Fehler zu diagnostizieren. In der Produktion könnte ein ordnungsgemäß funktionierendes Programm diese Informationen in seinem Fehlerprotokoll enthalten.