你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

状态和错误代码

Azure 存储的 REST API作返回标准 HTTP 状态代码,如 HTTP/1.1 状态代码定义中所定义。

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 存储错误代码字符串。

响应头 DESCRIPTION
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>

以下文章列表提供了您可能会觉得有用的错误代码集合:

复制 API 错误响应

复制 API 的错误响应遵循与前面提到的相同格式。 错误响应的正文包含 code 错误代码字符串的元素和 message 指示错误消息字符串的元素。

对于版本 2024-02-04 及更高版本,如果复制作由于复制源问题而失败,则错误响应可能包含详细错误,前提是源的失败返回此信息。 响应可能包括 CopySourceStatusCode 指示复制源作的状态代码、 CopySourceErrorCode 指定复制源的错误响应中返回的内容 x-ms-error-code 以及 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 存储在响应标头中返回它们。

响应头 DESCRIPTION
x-ms-copy-source-status-code 一个值,该值指示复制源失败的状态代码。
x-ms-copy-source-error-code 一个值,该值指示从复制源失败返回的错误代码字符串。

以下复制 API 返回这些详细信息 -

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>  
  

另请参阅

API作故障排除
HttpStatusCode 枚举
存储服务 REST