As seções a seguir descrevem o modelo de erro para métodos de recursos v2 e v1, respectivamente.
modelo de erro de recurso v2
Por padrão, os métodos de recursos respondem com um status de 200 OK.Quando as solicitações são inválidas, o Open Cloud retorna códigos de erro padrão.Todas as respostas de erro têm o mesmo formato, que incluem:
- code - Representa o código de status HTTP.
- message - Uma mensagem que explica o erro.
- details - Um objeto que contém mais informações específicas do erro.
Exemplo de Erro
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Códigos
A tabela a seguir descreve possíveis valores para code.
Códigos | Estado HTTP | Descrição |
---|---|---|
INVALID_ARGUMENT | 400 | Você passou um argumento inválido, como um inválido universeId . Você também pode ter cabeçalhos ausentes ou inválidos, como Content-Length e Content-Type . |
PERMISSION_DENIED | 403 | Sua solicitação não tem permissões ou escopos suficientes para realizar a operação. |
NOT_FOUND | 404 | O sistema não pode encontrar seus recursos especificados, como uma entrada de armazenamento de dados. |
ABORTED | 409 | A operação foi abortada. |
RESOURCE_EXHAUSTED | 429 | Você não tem quota suficiente para realizar a operação, geralmente devido ao envio de muitas solicitações. |
CANCELLED | 499 | O sistema termina a solicitar / pedir, geralmente devido a um limite de tempo do lado do cliente. |
INTERNAL | 500 | Erro interno do servidor, geralmente devido a um bug do servidor. |
NOT_IMPLEMENTED | 501 | O servidor não implementa o método da API. |
UNAVAILABLE | 503 | O serviço não está disponível, geralmente retornado quando o servidor está inativo. |
modelo de erro de recurso v1
Todas as respostas de erro têm o mesmo formato padrão, que inclui:
- Um campo error de alto nível que é uma causa aplicável a todos os pontos finais da Nuvem Aberta.
- Um erro explicativo message, que explica ainda mais o erro.
- Um ObjetoerrorDetails que abrange mais informações do erro que são específicas para cada API (Interface de Programação para Aplicações).
Para analisar a causa raiz de um erro, consulte o valor do campo error e do campo errorDetails.Use o campo message como um complemento para o manuseio de erros, pois às vezes ele pode não cobrir o mesmo nível de detalhes do campo errorDetails.
Resposta de Erro de Armazenamento de Dados Padrão de Exemplo
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
A resposta de erro de exemplo mostra o Open Cloud de alto nível error como INVALID_ARGUMENT , o erro message como InvalidCursor e o errorDetails específico para armazenamentos de dados com o datastoreErrorCode como InvalidCursor.Dos campos error e datastoreErrorCode da resposta, você pode entender que passou um parâmetro de cursor inválido que causou o erro.Você pode então corrigir o parâmetro do cursor para resolver o problema.
Todas as respostas de erro de armazenamento de dados solicitadas têm o mesmo formato, que inclui:
Exemplo de Resposta de Erro de Armazenamento de Dados Ordenados
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
O code conterá uma string do erro de alto nível enquanto o message conterá detalhes específicos relacionados ao erro
Códigos
Faça referência à tabela a seguir para um resumo de todos os erros de nível alto da Nuvem Aberta.
Código de Status HTTP | Erro | Descrições |
---|---|---|
400 | INVÁLIDO_ARGUMENTO | Você passou um argumento inválido, como um inválido universeId . Você também pode ter cabeçalhos ausentes ou inválidos, como Content-Length e Content-Type . |
403 | INSUFICIENTE_SCOPE | O pedido requer privilégios maiores do que os fornecidos pelo token de acesso. |
403 | PERMISSÃO_NEGADA | Sua solicitação não tem escopo suficiente para realizar a operação. |
404 | NÃO_Encontrado | O sistema não pode encontrar seus recursos especificados, como um lojade dados. |
409 | ABRADO | A operação foi abortada devido a um conflito, como publicar um local que não faz parte do universo. |
429 | RECURSO_EXAUSTO | Você não tem quota suficiente para realizar a operação, geralmente devido ao envio de muitas solicitações. |
499 | CANCELADO | O sistema termina a solicitar / pedir, geralmente devido a um limite de tempo do lado do cliente. |
500 | INTERNO | Erro interno do servidor. Normalmente um bug do servidor. |
501 | NÃO_Implementado | O servidor não implementa o método da API. |
503 | INDISPONÍVEL | Serviço indisponível. Normalmente, o servidor está inativo. |