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