ユーザが OSS にアクセスしたときにエラーが発生すると、OSS はエラーコードとエラーメッセージを返し、ユーザが問題を特定して適切に処理できるようにします。

OSS エラーレスポンスフォーマット

ユーザーが OSS にアクセスしたときにエラーが発生すると、OSS は HTTP ステータスコード 3xx、4xx、または 5xx とメッセージ本文をアプリケーション / XML 形式で返します。

返されたエラーのメッセージ本文の例:

  1. <? xml version=”1.0 ? > <Error xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Code> AccessDenied </Code> <Message> Query-string authentication requires the Signature, Expires and OSSAccessKeyId parameters </Message> <RequestId> 1D842BC5425544BB </RequestId> <HostId> oss-cn-hangzhou.aliyuncs.com </HostId> </Error>

すべてのエラーメッセージ本文には、次の要素が含まれています。

  • Code: OSS がユーザーに返すエラーコード。
  • Message: OSS によって提供される詳細なエラーメッセージ
  • RequestId: 要求を一意に識別する UUID。 問題を解決できない場合は、RequestId を提供して OSS 開発エンジニアの助けを求めることができます。
  • HostId: アクセスされた OSS クラスタを識別するために使用され、ユーザ要求で運ばれたホスト ID と一致します。

特別なエラー情報要素については、特定のリクエストの説明を参照してください。

OSS エラーコード

次の表に、OSS エラーコードを示します。

エラーコード 説明 HTTP ステータスコード 説明
AccessDenied  アクセスは拒否されました。 403 原因を調べたりトラブルシューティングを行うには、OSS の権限に関するトラブルシューティングをご覧ください。
BucketAlreadyExists  バケットは既に存在します。 409 CreateBucket 操作で指定されたバケット名が使用されています。新しいBucketNameを選択します。
BucketNotEmpty バケットは空ではありません。 409 DeleteBucket 操作を実行する前に、バケット内のファイルと未完了のマルチパートアップロードタスクを削除してください。
CallbackFailed アップロードコールバックが失敗します。 203 原因とトラブルシューティングについては、アップロードコールバックを参照してください。
EntityTooLarge エンティティが大きすぎます。 400 投稿要求のメッセージ長が 5 GB を超えています。 原因を調べたりトラブルシューティングを行うには、PostObject を参照してください。
EntityTooSmall エンティティが小さすぎます。 400 投稿要求のメッセージ長が短すぎます。 トラブルシューティングについては、「オブジェクトのポストエラーとトラブルシューティング」を参照してください
FieldItemTooLong 投稿要求のフォームフィールドが大きすぎます 400 fileを除くすべてのフォームフィールドのサイズは 4 KB を超えてはなりません。 トラブルシューティングについては、「オブジェクトのポストエラーとトラブルシューティング」を参照してください
FilePartInterity ファイルの部分が変更されました。 400 パーティションデータの読み取り中にデータとチェックサムが一致しません。
FilePartNotExist  ファイルの部分が存在しません。 400 CompleteMultipartUpload 操作によって送信されたパーティションはアップロードされません。
FilePartStale  ファイルの部分はタイムアウトします。 400 パーティションのデータ読み取り中に、データと長さが一致しません。
IncorrectNumberOfFilesInPOSTRequest 投稿要求のファイル数が無効です。 400 ポストリクエストのフォームフィールドには、1 つの file フィールドのみが許可されます。 トラブルシューティングについては、「オブジェクトのポストエラーとトラブルシューティング」を参照してください
InvalidArgument パラメータの形式が正しくありません。 400 パラメータ形式は要件に準拠していません。 対応する API の指示に従ってください。
InvalidAccessKeyId AccessKeyId が存在しません。 403 AccessKeyId が無効またはタイムアウトしました。 トラブルシューティングについては、OSS 403 エラーを参照してください。
InvalidBucketName バケット名が無効です。 400 バケットの命名規則については、開発者ガイドを参照してください。
InvalidDigest 無効なダイジェストです。 400 指定された MD5 チェックサムがファイルと矛盾しています。 MD5 の計算については、PutObject を参照してください。
InvalidEncryptionAlgorithmError  指定されたエントロピー暗号化アルゴリズムが正しくありません。 400 現在、AES256 暗号化アルゴリズムのみがサポートされています。 詳細は、 PutObject を参照してください。
InvalidObjectName  オブジェクト名が無効です。 400 オブジェクトの命名規則については、開発者ガイドを参照してください。
InvalidPart 無効な部分です。 400 CompleteMultipartUpload 操作によって送信された部分は無効です。PartNumber または ETag は間違っています。
InvalidPartOrder 無効な部品順序です。 400 CompleteMultipartUpload 操作によって提出された部品は、PartNumber の昇順ソート順に並べられています。
InvalidPolicyDocument  ポリシー文書が無効です。 400 ポストリクエストのPolicy は無効です。 トラブルシューティングについては、PostObject を参照してください。
InvalidTargetBucketForLogging ロギング操作に無効なターゲットバケットが存在します。 400 Logging を格納するターゲットバケットは存在しません。それを変更。
InternalError OSS でエラーが発生します。 500 再試行する。
MalformedXML XML 形式が無効です。 400 リクエスト内の XML は、DeleteObjectsCompleteMultipartUploadPutBucketLoggingPutBucketWebsitePutBucketLifecyclePutBucketReferer、およびPutBucketCORSを除いて、特定のリクエストに応じて無効です。
MalformedPOSTRequest 投稿リクエストの本文フォーマットが無効です。 400 フォームフィールド形式が無効です。 トラブルシューティングについては PostObject を参照してください。
MaxPOSTPreDataLengthExceededError ポストリクエストのアップロードされたファイルコンテンツ外のボディのサイズが大きすぎます。 400 file を除くすべてのフォームフィールドのサイズは 4 KB を超えません。 トラブルシューティングについては、PostObject を参照してください。
MethodNotAllowed サポートされていないメソッド。 405 OSS でサポートされていない方法でリソースにアクセスします。
MissingArgument 引数がありません。 411 解決のための特定の API を参照してください。
MissingContentLength  コンテンツの長さがありません。 411 メッセージは chunked encoding ではなく、Content-Length を保持しません。
NoSuchBucket バケットは存在しません。 404
NoSuchKey オブジェクトは存在しません。 404
NoSuchUpload マルチパートアップロード ID は存在しません。 404 マルチパートアップロードを初期化しないか、初期化されたマルチパートアップロードの有効期限を切ってください。
NotImplemented メソッドを実装することはできません。 400  OSS でサポートされていない操作。
ObjectNotAppendable  追加可能なファイルではありません。 409 OSS には、 normalappendable、およびmultipart という 3 つのファイルタイプがあります。appendable 操作を実行できるのは、AppendObject タイプのファイルだけです。
PositionNotEqualToLength 追加位置がファイルの長さと一致しません。 409 詳細については、AppendObject を参照してください。
PreconditionFailed 前処理エラー。 412 ダウンロード条件が満たされていません。 詳細については、GetObject を参照してください。
RequestTimeTooSkewed 要求開始時間はサーバー時間を 15 分超えます。 403 トラブルシューティングについては、OSS 403 エラーを参照してください。
RequestTimeout リクエストはタイムアウトします。 400 再試行する。
RequestIsNotMultiPartContent  投稿要求のコンテンツタイプが無効です。 400 トラブルシューティングについては、PostObject を参照してください。
Downloadtrafficratelimitexceeded  ダウンロードトラフィックが制限を超えています。 503

デフォルトの上限は、イントラネットトラフィックとインターネットトラフィックを含む 5 GB です。上限を調整するには、チケットを開きます

UploadTrafficRateLimitExceeded アップロードトラフィックが上限を超えています。 503

デフォルトの上限は、イントラネットトラフィックとインターネットトラフィックを含む 5 GB です。上限を調整するには、チケットを開きます

SignatureDoesNotMatch 署名エラー。 403 トラブルシューティングについては、ヘッダーへの署名の追加URL への署名の追加を参照してください。
TooManyBuckets  バケット数が上限を超えています。 400

デフォルトの上限は 10 です。上限を調整するには、チケットを開きます

SDK / ツールの一般的なエラーとトラブルシューティング

OSS でサポートされていない操作

OSS でサポートされていない操作を使用してリソースにアクセスすると、OSS はエラー 405 Method Not Allowed を返します。

無効なリクエストの例:
  1. ABC /1.txt HTTP/1.1Host: bucketname.oss-cn-shanghai.aliyuncs.comDate: Thu, 11 Aug 2016 03:53:40 GMTAuthorization: signatureValue
リターン例:
  1. HTTP/1.1 405 Method Not AllowedServer: AliyunOSSDate: Thu, 11 Aug 2016 03:53:44 GMTContent-Type: application/xmlContent-Length: 338Connection: keep-alivex-oss-request-id: 57ABF6C8BC4D25D86CBA5ADEAllow: GET DELETE HEAD PUT POST OPTIONS<? xml version=”1.0 encoding=”UTF-8”? ><Error><Code>MethodNotAllowed</Code><Message>The specified method is not allowed against this resource.</Message> <RequestId>57ABF6C8BC4D25D86CBA5ADE</RequestId> <HostId>bucketname.oss-cn-shanghai.aliyuncs.com</HostId> <Method>abc</Method> <ResourceType>Bucket</ResourceType> </Error>
注意
アクセスされたリソースが /bucket/ の場合、ResourceType はbucket に設定する必要があります。アクセスされたリソースが /bucket/object の場合、ResourceType は object に設定する必要があります。

OSS でサポートされているが、パラメータではサポートされていない操作

OSS でサポートされていないパラメータが OSS でサポートされているオペレーションに追加された場合(たとえば、If-Modified-Since パラメータが PUT オペレーションに追加された場合)、OSS はエラー 400 Bad Request を返します。

無効なリクエストの例:
  1. PUT /abc.zip HTTP/1.1Host: bucketname.oss-cn-shanghai.aliyuncs.comAccept: /Date: Thu, 11 Aug 2016 01:44:50 GMTIf-Modified-Since: Thu, 11 Aug 2016 01:43:51 GMTContent-Length: 363
レスポンス例:
  1. HTTP/1.1 400 Bad RequestServer: AliyunOSSDate: Thu, 11 Aug 2016 01:44:54 GMTContent-Type: application/xmlContent-Length: 322Connection: keep-alivex-oss-request-id: 57ABD896CCB80C366955187Ex-oss-server-time: 0<? xml version=”1.0 encoding=”UTF-8”? ><Error><Code>NotImplemented</Code><Message>A header you provided implies functionality that is not implemented.</Message><RequestId>57ABD896CCB80C366955187E</RequestId><HostId>bucketname.oss-cn-shanghai.aliyuncs.com</HostId><Header>If-Modified-Since</Header></Error>