REST エラーレスポンス
REST リクエストがエラーになった場合、HTTP の応答には次のものが含まれます。
-
レスポンス本文としての XML エラードキュメント
-
コンテンツタイプ: application/xml
-
該当する HTTP ステータスコード (3xx、4xx、または 5xx)
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>
Amazon S3 エラーの詳細については、「ErrorCodeList」を参照してください。
レスポンスヘッダー
すべてのオペレーションで返されるレスポンスヘッダーを次に示します。
x-amz-request-id:
システムによって各リクエストに割り当たられた一意の ID。万一 Amazon S3 の使用時に問題が発生した場合でも、Amazon はこの ID を使用して問題のトラブルシューティングを行うことができます。x-amz-id-2:
トラブルシューティングに役立つ特殊なトークン。
エラーレスポンス
Amazon S3 リクエストがエラーになると、クライアントはエラーレスポンスを受け取ります。エラーレスポンスの正確な形式は API 固有です。たとえば、REST エラーレスポンスは SOAP エラーレスポンスとは異なります。ただし、すべてのエラーレスポンスには共通の要素があります。
注記
SOAP のサポートは HTTP 経由では廃止されましたが、HTTPS 経由では引き続き利用可能です。Amazon S3 の新機能は SOAP でサポートされていません。SOAP の代わりに、REST API か AWS SDK を使用することをお勧めします。
エラーコード
エラーコードは、エラー状態を個別に識別する文字列です。エラーを検出してタイプ別に処理するプログラムによって読み取りおよび解釈されるためのものです。多くのエラーコードは SOAP と REST API で共通ですが、API 固有のものもあります。たとえば、NoSuchKey は共通ですが、UnexpectedContent は、無効な REST リクエストへのレスポンスでのみ発生します。SOAP フォルトコードには、どの場合でも、エラーコードの表に示すプレフィックスが付いているので、NoSuchKey エラーは SOAP では実際には Client.NoSuchKey として返されます。
注記
SOAP のサポートは HTTP 経由では廃止されましたが、HTTPS 経由では引き続き利用可能です。Amazon S3 の新機能は SOAP でサポートされていません。SOAP の代わりに、REST API か AWS SDK を使用することをお勧めします。
エラーメッセージ
エラーメッセージには、エラー状態の一般的な説明が英語で含まれます。これは人が理解できるようにするためのものです。シンプルなプログラムの場合、処理できない、または処理されないエラー状態が発生すると、メッセージがエンドユーザーに直接表示されます。より徹底したエラー処理を備え、適切に国際化されている洗練されたプログラムでは、エラーメッセージが無視される傾向にあります。
詳細情報
多くのエラーレスポンスには、プログラミングエラーを診断する開発者が読んで理解できるように追加の構造化データが含まれています。たとえば、REST PUT リクエストと共に Content-MD5 ヘッダーを送信し、これがサーバーで計算されたダイジェストと一致しない場合、BadDigest エラーが発生します。エラーレスポンスには、計算されたダイジェスト、指定されたダイジェストなど、詳細要素も含まれます。開発中にこの情報を使用してエラーを診断できます。実稼働では、正常に動作するプログラムによりこの情報がエラーログに記録されることがあります。