Partilhar via


Códigos de estado e de erro

As operações da API REST para o Armazenamento do Microsoft Azure devolvem códigos de estado HTTP padrão, conforme definido nas Definições de Código de Estado HTTP/1.1.

As operações de API também podem devolver informações de erro adicionais que são definidas pelo serviço. Estas informações de erro adicionais são devolvidas no corpo da resposta.

O corpo da resposta de erro segue o formato básico apresentado aqui. O code elemento indica a cadeia de código de erro, enquanto que o message elemento indica a cadeia de mensagem de erro.

<?xml version="1.0" encoding="utf-8"?>  
<Error>  
  <Code>string-value</Code>  
  <Message>string-value</Message>  
</Error>  

Para a versão 2017-07-29 e posterior, as operações de API falhadas também devolvem a cadeia de código de erro do Armazenamento do Azure num cabeçalho de resposta.

Cabeçalho de resposta Descrição
x-ms-error-code Um valor que indica a cadeia de código de erro.

Uma resposta de erro específica também pode incluir informações de erro adicionais para fornecer mais informações ao programador. Por exemplo, a seguinte resposta de erro indica que um parâmetro de consulta especificado no URI do pedido é inválido e fornece informações adicionais sobre o nome e o valor do parâmetro inválido e o motivo do erro.

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

Para a versão 2024-08-04 e posterior, a resposta a erros incluirá informações de erro adicionais quando o tipo de recurso assinado da SAS de Conta não corresponder ao recurso que está a ser acedido. Por exemplo, a seguinte resposta de erro indica que o tipo de recurso assinado "o" é necessário para executar a operaçã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>

Os tópicos seguintes fornecem listas de códigos de erro que poderá considerar úteis:

Respostas de erro para o Armazenamento de Tabelas

As respostas de erro para o Armazenamento de Tabelas estão em conformidade com o formato de erro descrito na secção 19 da especificação OData. Podem ser incluídas informações de erro adicionais, mas a resposta de erro está sempre em conformidade com a especificação OData .

As respostas de erros do Batch são semelhantes às respostas de erro padrão do Armazenamento de Tabelas. Para obter mais informações, veja Executar transações de grupos de entidades.

Nota

JSON é o formato de payload recomendado para o Armazenamento de Tabelas. É o único formato suportado para a versão 2015-12-11 e posterior.

O seguinte mostra o corpo de erro básico no formato JSON (versão 2013-08-15 e posterior):

{"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"}}}  
  

O seguinte mostra o corpo de erro básico no formato Atom (versões anteriores a 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>  
  

Ver também

Resolver problemas de operações da API
Enumeração httpStatusCode
REST dos serviços de armazenamento