Réponse d'erreur REST - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Réponse d'erreur REST

Si une demande REST génère une erreur, la réponse HTTP a :

  • un document d'erreur XML comme réponse ;

  • un en-tête Content-Type : application/xml ;

  • un code de statut HTTP 3xx, 4xx ou 5xx.

Voici un exemple de réponse d'erreur REST.

<?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>

Pour de plus amples informations sur les erreurs Amazon S3, veuillez consulter ErrorCodeList.

En-têtes de réponse

Ci-après, des en-têtes de réponse renvoyés par toutes les opérations :

  • x-amz-request-id: Un ID unique affecté par le système à chaque demande. Dans l'éventualité peu probable où Amazon S3 poserait des problèmes, Amazon peut utiliser cet ID pour résoudre le problème.

  • x-amz-id-2: Un jeton spécial qui nous aidera à résoudre des problèmes.

Réponse d'erreur

Quand une demande Amazon S3 est erronée, le client reçoit une réponse d'erreur. Le format exact de la réponse d'erreur est spécifique à l'API : à titre d'exemple, la réponse d'erreur REST diffère de la réponse d'erreur SOAP. Néanmoins, toutes les réponses d'erreur ont des éléments communs.

Note

La prise en charge de SOAP sur HTTP est obsolète, mais SOAP continue d'être disponible sur HTTP. Les nouvelles fonctions Amazon S3 ne sont pas prises en charge pour SOAP. Plutôt que d'utiliser SOAP, nous vous recommandons d'utiliser l'API REST ou les kits SDK AWS.

Code d'erreur

Le code d'erreur est une chaîne qui identifie de façon univoque une condition d'erreur. Il doit être lu et compris par des programmes qui détectent et gèrent des erreurs par type. Beaucoup de codes d'erreur sont communs aux API SOAP et REST, mais certains sont spécifiques aux API. A titre d'exemple, le code d'erreur NoSuchKey est universel, mais UnexpectedContent n'est généré qu'à la suite d'une demande REST non valide. Dans tous les cas, les codes d'erreur SOAP ont un préfixe comme indiqué dans le tableau des codes d'erreur, ainsi une erreur NoSuchKey est renvoyée dans SOAP comme Client.NoSuchKey.

Note

La prise en charge de SOAP sur HTTP est obsolète, mais SOAP continue d'être disponible sur HTTP. Les nouvelles fonctions Amazon S3 ne sont pas prises en charge pour SOAP. Plutôt que d'utiliser SOAP, nous vous recommandons d'utiliser l'API REST ou les kits SDK AWS.

Message d'erreur

Le message d'erreur contient une description générique de la condition d'erreur en anglais. Il s'adresse à un public d'individus. Des programmes basiques affichent le message directement pour l'utilisateur final s'ils trouvent une condition d'erreur qu'ils ne savent, ni souhaitent gérer. Des programmes sophistiqués avec une gestion d'erreur plus complète et une stratégie d'internationalisation personnalisée risquent plus d'ignorer le message d'erreur.

Détails complémentaires

Beaucoup de réponses d'erreur contiennent des données structurées complémentaires destinées à être lues et comprises par un développeur diagnostiquant des erreurs de programmation. A titre d'exemple, si vous envoyez un en-tête Content-MD5 avec une demande REST PUT qui ne correspond pas à la valeur de hachage calculée sur le serveur, vous recevrez une erreur BadDigest. La réponse d'erreur inclut également des éléments de détail, la valeur de hachage que nous avions calculée et celle que vous nous aviez suggérée. Pendant le développement, vous pouvez utiliser ces informations pour diagnostiquer l'erreur. En production, un programme performant doit comprendre ces informations dans son journal des erreurs.