Códigos de Estado HTTP para o Azure Cosmos DB
Este artigo fornece os códigos de estado HTTP devolvidos pelas operações REST.
Código | Descrição |
---|---|
200 OK | Uma das seguintes operações REST foi efetuada com êxito: - GET num recurso.- PUT num recurso.- POST num recurso.- POST num recurso de procedimento armazenado para executar o procedimento armazenado. |
201 Criado | Uma operação POST para criar um recurso é bem-sucedida. |
204 Sem conteúdo | A operação DELETE foi efetuada com êxito. |
400 Pedido incorreto | O JSON, SQL ou JavaScript no corpo do pedido é inválido. Além disso, também pode ser devolvido um 400 quando as propriedades necessárias de um recurso não estão presentes ou definidas no corpo do POST ou PUT no recurso. 400 também é devolvido quando o nível consistente de uma operação GET é substituído por uma consistência mais forte do conjunto da conta. O 400 também é devolvido quando um pedido que requer uma chave x-ms-documentdb-partitionkey não o inclui. |
401 Não Autorizado | O 401 é devolvido quando o Authorization cabeçalho é inválido para o recurso pedido. |
403 Proibido | Token de autorização expirado. O código 403 também é devolvido durante uma POST operação para criar um recurso quando a quota de recursos for atingida. Um exemplo deste cenário é quando tenta adicionar documentos a uma coleção que atingiu o respetivo armazenamento aprovisionado.O erro 403 também pode ser devolvido quando um procedimento armazenado, acionador ou UDF tiver sido sinalizado como de alta utilização de recursos e a sua execução bloqueada. O erro 403 Proibido é devolvido quando as regras de firewall configuradas na conta do Azure Cosmos DB bloqueiam o pedido. Todos os pedidos provenientes de computadores fora da lista de permitidos receberão uma resposta 403. 403.3 – este código de estado é devolvido para pedidos de escrita durante a operação de ativação pós-falha manual. Este código de estado é utilizado como um código de redirecionamento por controladores para reencaminhar os pedidos de escrita para uma nova região de escrita. O cliente REST direto deve executar GET na DatabaseAccount para identificar a região de escrita atual e encaminhar o pedido de escrita para esse ponto final. |
404 Não encontrado | A operação está a tentar agir num recurso que já não existe. Por exemplo, o recurso pode já ter sido eliminado. |
408 Tempo limite do pedido | A operação não foi concluída dentro do período de tempo atribuído. Este código é devolvido quando um procedimento armazenado, acionador ou UDF (dentro de uma consulta) não conclui a execução dentro do tempo máximo de execução. |
409 Conflito | O ID introduzido para um recurso numa operação PUT ou POST foi assumido por um recurso existente. Para resolver este problema, utilize outro ID para o recurso. Para coleções particionadas, o ID tem de ser exclusivo em todos os documentos com o mesmo valor da chave de partição. |
412 Falha de pré-condição | A operação especificou um eTag diferente da versão disponível no servidor, ou seja, um erro de simultaneidade otimista. Repita o pedido depois de ler a versão mais recente do recurso e atualizar a eTag no pedido. |
413 Entidade demasiado grande | O tamanho do documento no pedido excedeu o tamanho permitido para um pedido. O tamanho máximo do documento permitido é de 2 MB. |
423 Bloqueado | A operação de dimensionamento de débito não pode ser realizada porque há outra operação de dimensionamento em curso. |
424 Dependência falhada | Quando uma operação do documento falha no âmbito transacional de uma operação TransactionalBatch, todas as outras operações no lote são consideradas dependências falhadas. Este código de estado indica que a operação atual foi considerada falhada devido a outra falha no mesmo âmbito transacional. |
429 Demasiados pedidos | A coleção ultrapassou o limite de débito aprovisionado. Tente novamente o pedido após o servidor especificado repetir passado algum tempo. Para obter mais informações, veja unidades de pedido. |
449 Tentar Novamente com | A operação encontrou um erro transitório. Este código só ocorre em operações de escrita. É seguro repetir a operação. |
500 Erro de Servidor Interno | A operação falhou devido a um erro de serviço inesperado. Contacte o suporte. Veja Arquivar um problema de suporte do Azure. |
503 Serviço Indisponível | Não foi possível concluir a operação porque o serviço não estava disponível. Esta situação pode ocorrer devido a problemas de conectividade de rede ou disponibilidade do serviço. É seguro repetir a operação. Se o problema persistir, contacte o suporte. |
Códigos de substatus HTTP
Ao utilizar chaves de Customer-Managed (CMK) no Azure Cosmos DB, se existirem erros, o Azure Cosmos DB devolve os detalhes do erro juntamente com um código de subtoto HTTP na resposta. Pode utilizar este código de subtoto para depurar a causa principal do problema. Atualmente, o Azure Cosmos DB suporta os seguintes códigos de substatus:
Códigos de substatus para problemas do lado do servidor
Os seguintes códigos de substatus são suportados pelo Azure Cosmos DB para problemas do lado do servidor:
Código de substatus | Descrição |
---|---|
4000 (Falha ao obter/aceder ao token de Azure AD) | Este erro ocorre se o Azure Cosmos DB não conseguir obter o token de acesso do Azure Active Directory (Azure AD). Este token é necessário para que o Azure Cosmos DB aceda ao Key Vault. O erro pode ocorrer devido a um problema de rede ou a um datacenter e não é algo que o utilizador possa efetuar uma ação. Crie um pedido de suporte para contactar a equipa do Azure Cosmos DB para resolver o problema. |
4001 (Azure AD serviço não está disponível) | Este erro ocorre se o serviço Azure AD estiver inativo ou tiver problemas. Pode verificar o dashboard de indisponibilidade do Azure para verificar se existe alguma falha existente. Normalmente, estas interrupções são resolvidas dentro de algumas horas. O melhor para si é contactar a equipa do Azure AD e informá-los sobre o problema que está a ver. Se a equipa de Azure AD detetar que não existe nenhum problema, crie um pedido de suporte para contactar a equipa do Azure Cosmos DB para resolução. |
4004 (Key Vault serviço não está disponível) | Este erro ocorre se o Azure Cosmos DB tentar aceder ao Key Vault, mas o serviço não estiver disponível. Isto pode dever-se a um problema de rede para alcançar Key Vault ou o próprio serviço pode estar inativo. Pode verificar o dashboard de indisponibilidade do Azure para verificar se existe alguma falha existente. Normalmente, estas interrupções são resolvidas dentro de algumas horas. O melhor para si é contactar a equipa Key Vault e informá-los sobre o problema que está a ver. Se a equipa de Key Vault detetar que não existe nenhum problema, crie um pedido de suporte para contactar a equipa do Azure Cosmos DB para resolução. |
4007 (Erro interno do servidor) | Trata-se de 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 interno) | Este erro ocorre se o Azure Cosmos DB não conseguir aceder ao Key Vault. Pode dever-se a um problema de rede ou se o próprio serviço de Key Vault estiver inativo. Pode verificar o dashboard de indisponibilidade do Azure para verificar se existe alguma falha existente. Normalmente, estas interrupções são resolvidas dentro de algumas horas. O melhor para si é contactar a equipa Key Vault e informá-los sobre o problema que está a ver. Se a equipa de Key Vault detetar que não existe nenhum problema, contacte a equipa do Azure Cosmos DB para resolução. |
1013 (A operação de criação de coleções está em curso) | Se encontrar uma exceção de tempo limite ao criar uma coleção, efetue 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 lançar uma exceção com o código de estado 404 e o código de sub-estado do 1013, significa que a operação de criação da coleção ainda está em curso. Repita a operação de leitura até obter códigos de estado 200 ou 201, estes códigos informam-no de que a coleção foi criada com êxito. |
Códigos de substatus para problemas do utilizador final
Os seguintes códigos de substatus são suportados pelo Azure Cosmos DB para problemas causados pelo utilizador final:
Código de substatus | Descrição |
---|---|
4002 (Key Vault não concede permissão ao Azure AD ou a chave está desativada) | Este problema ocorre se tiver removido a identidade do Azure Cosmos DB das políticas de acesso Key Vault ou se tiver desativado a chave. Normalmente, este problema é causado pelo utilizador final. Se este erro ocorrer, certifique-se de que o Azure Cosmos DB tem acesso ao Key Vault e que a chave está ativada. |
4003 (A chave não foi encontrada) | Este problema ocorre se a chave for eliminada do Key Vault. Normalmente, este problema é causado pelo utilizador final. Um dos pré-requisitos para utilizar o Azure Cosmos DB com chaves geridas pelo cliente é que o Key Vault tem a proteção de eliminação recuperável e remoção ativada. Isto significa que pode recuperar a chave eliminada e restaurar o acesso ao Azure Cosmos DB. |
4005 (Não é possível moldar ou desembrulhar a chave) | Este erro ocorre se o Key Vault não conseguir moldar ou desembrulhar a chave. Normalmente, este problema é causado pelo utilizador final. Uma das causas possíveis para este erro é que o Key Vault não conseguiu descodificar o blob encriptado com a chave mais recente porque rodou a chave. Para resolver este erro, ative as chaves recentemente desativadas e esta será resolvida dentro de cerca de uma hora. Se o problema não for resolvido após mais de 2 horas, transmita o problema para o Azure Cosmos DB. |
4006 (O URL da Chave é inválido) | Este erro ocorre durante o aprovisionamento se tiver incluído a versão da chave no URL do Key Vault. Este erro é frequentemente causado pelo utilizador final. Para resolver este erro, remova a versão e tente novamente. Por exemplo, se tiver utilizado o URL no formato https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/<KeyVersion> , atualize-o para https://<KeyVaultName>.vault.azure.net/keys/<KeyName>/ |
4009 (Key Vault nome DNS não pode ser resolvido) | Este erro ocorre se não for possível resolver o Key Vault nome DNS, porque utilizou o nome de Key Vault incorreto. Este erro é causado pelo utilizador final. Para resolvê-lo, corrija o Key Vault nome e tente novamente. |
Ver também