Azure Storage の REST API 操作 は、HTTP/1.1 状態コードの定義で定義されている標準の HTTP 状態コードを返します。
API オペレーションは、サービスが定義する詳細なエラー情報を返すこともできます。 このエラー情報は、応答本文で返されます。
エラー応答の本文は、ここに示す基本的な形式に従います。
code
要素はエラー コード文字列を示し、message
要素はエラー メッセージ文字列を示します。
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>string-value</Code>
<Message>string-value</Message>
</Error>
バージョン 2017-07-29 以降では、失敗した API 操作は、応答ヘッダーで Azure Storage エラー コード文字列も返します。
応答ヘッダー | 説明 |
---|---|
x-ms-error-code |
エラー・コード文字列を示す値。 |
特定のエラー応答には、開発者に詳細情報を提供するための詳細なエラー情報も含まれる場合があります。 たとえば、次のエラー応答は、要求 URI に無効なクエリ パラメータが指定されていることを示し、無効なパラメータの名前と値、およびエラーの理由に関する追加情報を提供します。
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidQueryParameterValue</Code>
<Message>Value for one of the query parameters specified in the request URI is invalid.</Message>
<QueryParameterName>popreceipt</QueryParameterName>
<QueryParameterValue>33537277-6a52-4a2b-b4eb-0f905051827b</QueryParameterValue>
<Reason>invalid receipt format</Reason>
</Error>
バージョン 2024-08-04 以降では、アカウント SAS の署名済みリソースの種類がアクセスされているリソースと一致しない場合、エラー応答に詳細なエラー情報が含まれます。 たとえば、次のエラー応答は、操作を実行するために署名されたリソースの種類 'o' が必要であることを示しています。
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>AuthorizationResourceTypeMismatch</Code>
<Message>This request is not authorized to perform this operation using this resource type. RequestId:42a48a49-201e-0092-3770-a7ea70000000 Time:2024-05-16T09:04:16.3226200Z</Message>
<ExtendedErrorDetail>SignedResourceTypes 'o' is required to perform this operation.</ExtendedErrorDetail>
</Error>
次の記事の一覧は、役立つと思われるエラー コードのコレクションを示しています。
Copy API エラー応答
Copy API のエラー応答は、前述したものと同じ形式に従います。 エラー応答の本文には、エラー コード文字列の code
要素と、エラー メッセージ文字列を示す message
要素が含まれています。
バージョン 2024-02-04 以降では、コピー ソースの問題が原因でコピー操作が失敗した場合、エラー応答に詳細なエラーが含まれる場合があります (ソースからのエラーがこの情報を返す場合)。 応答には、コピー ソース操作の状態コードを示す CopySourceStatusCode
、コピー ソースのエラー応答で返されるx-ms-error-code
を指定するCopySourceErrorCode
、対応するエラー メッセージを示すCopySourceErrorMessage
が含まれる場合があります。
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>CannotVerifyCopySource</Code>
<Message> The specified blob doesn’t exist.
RequestId:de1e2279-b01e-0000-5f26-5c4741000000
Time:2023-03-21T18:52:10.1018932Z</Message>
<CopySourceStatusCode> 404 </CopySourceStatusCode>
<CopySourceErrorCode> BlobNotFound </CopySourceErrorCode>
<CopySourceErrorMessage> The specified blob doesn’t exist </CopySourceErrorMessage>
</Error>
バージョン 2024-02-04 以降の場合、Azure Storage は、コピー ソースの状態コードとエラー コードを応答ヘッダーで返します (コピー ソースのエラーで受信された場合)。
応答ヘッダー | 説明 |
---|---|
x-ms-copy-source-status-code |
コピー ソースの失敗の状態コードを示す値。 |
x-ms-copy-source-error-code |
コピー元の失敗から返されたエラーコード文字列を示す値。 |
次のコピー API は、次の詳細を返します。
Table Storage のエラー応答
Table Storage のエラー応答は、 OData 仕様のセクション 19 で説明されているエラー形式に準拠しています。 詳細なエラー情報が含まれている場合がありますが、エラー応答は常に OData
仕様に準拠しています。
バッチ・エラー応答は、標準の Table Storage エラー応答と似ています。 詳細については、「 エンティティ グループ トランザクションの実行」を参照してください。
注
JSON は、Table Storage に推奨されるペイロード形式です。 これは、バージョン 2015-12-11 以降でサポートされている唯一の形式です。
次の例は、JSON 形式 (バージョン 2013-08-15 以降) の基本的なエラー本文を示しています。
{"odata.error":{"code":"ResourceNotFound","message":{"lang":"en-US","value":"The specified resource does not exist.\nRequestId:102a2b55-eb35-4254-9daf-854db78a47bd\nTime:2014-06-04T16:18:20.4307735Z"}}}
次の例は、Atom 形式 (バージョン 2015-12-11 以前) の基本的なエラー本文を示しています。
<?xml version="1.0" encoding="utf-8"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>ResourceNotFound</code>
<message xml:lang="en-US">The specified resource does not exist.
RequestId:e288ba1e-f5dd-4014-9e09-f1263d223dec
Time:2014-06-04T16:18:20.7088013Z</message>
</error>