Códigos de status HTTP para o Azure Cosmos DB

Este artigo apresenta os códigos de status HTTP retornados pelas operações REST.

Código Descrição
200 OK Uma das seguintes operações REST foi bem-sucedida:

- GET em um recurso.
- PUT em um recurso.
- POST em um recurso.
- POST em um recurso de procedimento armazenado para executar o procedimento armazenado.
201 Criado Uma operação POST para criar um recurso foi bem-sucedida.
204 Sem conteúdo A operação de exclusão foi bem-sucedida.
400 Solicitação incorreta O JSON, SQL ou JavaScript no corpo da solicitação é inválido.

Além disso, o erro 400 também pode ser retornado quando as propriedades necessárias de um recurso não estão presentes ou definidas no corpo POST ou PUT no recurso.

O erro 400 também é retornado quando o nível consistente de uma operação GET é substituído por uma consistência mais forte de um conjunto para a conta.

400 também é retornado quando uma solicitação que requer uma x-ms-documentdb-partitionkey não a inclui.
401 Não Autorizado 401 é retornado quando o Authorization cabeçalho é inválido para o recurso solicitado.
403 Forbidden O token de autorização expirou.

O código 403 também é retornado durante uma POST operação para criar um recurso quando a cota de recursos é atingida. Um exemplo desse cenário é quando você tenta adicionar documentos a uma coleção que atingiu seu armazenamento provisionado.

403 também pode ser retornado quando um procedimento armazenado, gatilho ou UDF tiver sido sinalizado para alto uso de recursos e bloqueado na execução.

403 erro proibido é retornado quando as regras de firewall configuradas em sua conta de Azure Cosmos DB bloqueiam sua solicitação. Todas as solicitações provenientes de máquinas fora dessa lista de permissão receberão uma resposta 403.

403.3 – Esse código status é retornado para solicitações de gravação durante a operação de failover manual. Esse código status é usado como um código de redirecionamento por drivers para encaminhar as solicitações de gravação para uma nova região de gravação. O cliente REST direto deve executar GET em DatabaseAccount para identificar a região de gravação atual e encaminhar a solicitação de gravação para esse ponto de extremidade.
404 Não encontrado A operação está tentando atuar em um recurso que não existe mais. Por exemplo, o recurso pode já ter sido excluído.
408 Tempo limite da solicitação A operação não foi concluída dentro de determinado período de tempo. Este código é retornado quando um procedimento armazenado, um disparador ou uma UDF (dentro de uma consulta) não conclui a execução dentro do tempo de execução máximo.
409 Conflito A ID fornecida para um recurso em uma operação PUT ou POST foi usada por um recurso existente. Use outra ID do recurso para resolver esse problema. Para coleções particionadas, a ID deverá ser exclusiva em todos os documentos com o mesmo valor da chave de partição.
412 Falha de pré-condição A operação especificou uma eTag diferente da versão disponível no servidor, ou seja, um erro de simultaneidade otimista. Repita a solicitação depois de ler a versão mais recente do recurso e atualizar o eTag na solicitação.
413 Entidade muito grande O tamanho do documento na solicitação excedeu o tamanho de documento permitido para uma solicitação. O tamanho máximo permitido do documento é de 2 MB.
423 Bloqueado Não é possível executar a operação de escala de taxa de transferência porque há outra operação de escala em andamento.
424 Dependência com falha Quando uma operação de documento falhar no escopo transacional de uma operação TransactionalBatch, todas as outras operações no lote serão consideradas dependências com falha. Esse código de status indica que a operação atual foi considerada com falha devido a outra falha no mesmo escopo transacional.
429 Solicitações demais A coleção excedeu o limite de taxa de transferência provisionado. Repita a solicitação após a repetição do servidor especificado após a duração. Para obter mais informações, consulte unidades de solicitação.
449 Tentar novamente com A operação encontrou um erro transitório. Esse código só ocorre em operações de gravação. É seguro repetir a operação.
500 Erro interno do servidor A operação falhou devido a um erro de serviço inesperado. Entre em contato com o suporte. Consulte Arquivar um problema de Suporte do Azure.
503 Serviço Indisponível A operação não pôde ser concluída porque o serviço não estava disponível. Essa situação pode ocorrer devido a problemas de conectividade de rede ou disponibilidade de serviço. É seguro repetir a operação. Se o problema persistir, contate o suporte.

Códigos de substatus HTTP

Ao usar Customer-Managed Keys (CMK) no Azure Cosmos DB, se houver erros, o Azure Cosmos DB retornará os detalhes do erro junto com um código de substatus HTTP na resposta. Você pode usar esse código substatus para depurar a causa raiz do problema. Atualmente, o Azure Cosmos DB dá suporte aos seguintes códigos de substatus:

Códigos de substatus para problemas do lado do servidor

Os seguintes códigos de substatus têm suporte do Azure Cosmos DB para problemas do lado do servidor:

Código substatus Descrição
4000 (Falha ao obter/acessar o token Azure AD) Esse erro ocorrerá se o Azure Cosmos DB não conseguir obter o token de acesso do Azure Active Directory (Azure AD). Esse token é necessário para que o Azure Cosmos DB acesse o Key Vault. O erro pode ocorrer devido a um problema de rede ou data center e não é algo que o usuário possa executar uma ação. Crie uma solicitação de suporte para acessar a equipe do Azure Cosmos DB para resolve o problema.
4001 (o serviço Azure AD não está disponível) Esse erro ocorrerá se o serviço Azure AD estiver inativo ou tiver problemas. Você pode marcar o dashboard de interrupção do Azure para verificar se há alguma interrupção existente. Normalmente, essas interrupções são resolvidas em algumas horas. É melhor que você possa entrar em contato com a equipe de Azure AD e informá-los sobre o problema que você está vendo. Se a equipe de Azure AD descobrir que não há nenhum problema, crie uma solicitação de suporte para acessar a equipe do Azure Cosmos DB para resolução.
4004 (o serviço Key Vault não está disponível) Esse erro ocorrerá se o Azure Cosmos DB tentar acessar o Key Vault, mas o serviço não estiver disponível. Isso pode ser devido a um problema de rede para alcançar Key Vault ou o próprio serviço pode estar inativo. Você pode marcar o dashboard de interrupção do Azure para verificar se há alguma interrupção existente. Normalmente, essas interrupções são resolvidas em algumas horas. É melhor que você possa entrar em contato com a equipe de Key Vault e informá-los sobre o problema que você está vendo. Se a equipe de Key Vault descobrir que não há nenhum problema, crie uma solicitação de suporte para acessar a equipe do Azure Cosmos DB para resolução.
4007 (erro interno do servidor) Esse é um erro interno do servidor e ocorre se os bytes de entrada não estiverem no formato base64.
4008 (Key Vault erros de serviço internos) Esse erro ocorrerá se o Azure Cosmos DB não conseguir acessar o Key Vault. Pode ser devido a um problema de rede ou se o próprio serviço Key Vault está inativo. Você pode marcar o dashboard de interrupção do Azure para verificar se há alguma interrupção existente. Normalmente, essas interrupções são resolvidas em algumas horas. É melhor que você possa entrar em contato com a equipe de Key Vault e informá-los sobre o problema que você está vendo. Se a equipe de Key Vault descobrir que não há nenhum problema, entre em contato com a equipe do Azure Cosmos DB para resolução.
1013 (A operação de criação de coleção está em andamento) Se você encontrar uma exceção de tempo limite ao criar uma coleção, execute uma operação de leitura para validar se a coleção foi criada com êxito. A operação de leitura gera uma exceção até que a operação de criação da coleção seja bem-sucedida. Se a operação de leitura gerar uma exceção com status código de 404 e sub-status código de 1013, isso significa que a operação de criação da coleção ainda está em andamento. Repita a operação de leitura até obter 200 ou 201 códigos de status, esses códigos informam que a coleção foi criada com êxito.

Códigos de substatus para problemas do usuário final

Os seguintes códigos de substatus têm suporte do Azure Cosmos DB para problemas causados pelo usuário final:

Código substatus Descrição
4002 (Key Vault não concede permissão ao Azure AD ou a chave está desabilitada) Esse problema ocorrerá se você tiver removido a identidade do Azure Cosmos DB das políticas de acesso do Key Vault ou se tiver desabilitado a chave. Normalmente, esse problema é causado pelo usuário final. Se esse erro ocorrer, verifique se o Azure Cosmos DB tem acesso ao Key Vault e se a chave está habilitada.
4003 (Chave não encontrada) Esse problema ocorrerá se a chave for excluída do Key Vault. Normalmente, esse problema é causado pelo usuário final. Um dos pré-requisitos para usar o Azure Cosmos DB com chaves gerenciadas pelo cliente é que o Key Vault tenha a proteção contra exclusão e limpeza temporária habilitada. Isso significa que você pode recuperar a chave excluída e restaurar o acesso ao Azure Cosmos DB.
4005 (Não é possível encapsular ou desembrulhar a chave) Esse erro ocorrerá se o Key Vault não puder encapsular ou desembrulhar a chave. Normalmente, esse problema é causado pelo usuário final. Uma das possíveis causas para esse erro é que o Key Vault falhou ao decodificar o blob criptografado usando a chave mais recente porque você girou a chave. Para resolve esse erro, habilite as chaves desabilitadas recentemente e elas serão resolvidas em cerca de uma hora. Se o problema não for resolvido após mais de 2 horas, passe o problema para o Azure Cosmos DB.
4006 (a URL da chave é inválida) Esse erro ocorrerá durante o provisionamento se você tiver incluído a versão da chave na URL do Key Vault. Esse erro geralmente é causado pelo usuário final. Para resolve esse erro, remova a versão e tente novamente. Por exemplo, se você tiver usado a URL no formato https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/<KeyVersion>, atualize-a para https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/
4009 (não é possível resolver Key Vault nome DNS) Esse erro ocorrerá se o Key Vault nome DNS não puder ser resolvido, pois você usou o nome de Key Vault incorreto. Esse erro é causado pelo usuário final. Para resolve, corrija o nome do Key Vault e tente novamente.

Consulte também