Códigos de erros canônicos para APIs gRPC.
Às vezes, vários códigos de erros podem ser aplicados. Os serviços retornam o código do erro mais específico aplicável. Por exemplo, dê preferência a OUT_OF_RANGE em vez de FAILED_PRECONDITION, se ambos os códigos se aplicarem. Da mesma maneira, dê preferência a NOT_FOUND ou ALREADY_EXISTS em vez de FAILED_PRECONDITION.
| Enums | |
|---|---|
| OK | Não é um erro. Retornado quando bem-sucedido. Mapeamento HTTP: 200 OK | 
| CANCELLED | A operação foi cancelada, geralmente pelo chamador Mapeamento HTTP: 499 Solicitação fechada pelo cliente | 
| UNKNOWN | Erro desconhecido. Por exemplo, esse erro pode ser retornado quando um valor  Mapeamento HTTP: 500 Erro interno do servidor | 
| INVALID_ARGUMENT | O cliente especificou um argumento inválido. Observe que isso é diferente de  Mapeamento HTTP: 400 Solicitação inválida | 
| DEADLINE_EXCEEDED | O prazo expirou antes do término da operação. Para operações que alteram o estado do sistema, este erro pode ser retornado mesmo que a operação tenha sido concluída com sucesso. Por exemplo, uma resposta bem-sucedida de um servidor pode ter atrasado tempo suficiente para que o prazo expirasse. Mapeamento HTTP: 504 Tempo limite do gateway | 
| NOT_FOUND | Alguma entidade solicitada não foi encontrada. Por exemplo, arquivo ou diretório. Observação para desenvolvedores de servidor: se uma solicitação for negada para uma classe inteira de usuários, como a implementação gradual de recursos ou a lista de permissões não documentada de permissões,  Mapeamento HTTP: 404 Não encontrado | 
| ALREADY_EXISTS | A entidade que um cliente tentou criar já existe. Por exemplo, arquivo ou diretório. Mapeamento HTTP: 409 Conflito | 
| PERMISSION_DENIED | O autor da chamada não tem permissão para executar a operação especificada.  Mapeamento HTTP: 403 Proibido | 
| UNAUTHENTICATED | A solicitação não tem credenciais válidas de autenticação para a operação. Mapeamento HTTP: 401 Não autorizado | 
| RESOURCE_EXHAUSTED | Houve o esgotamento de algum recurso, como uma cota por usuário. Também é possível que todo sistema de arquivos esteja sem espaço. Mapeamento HTTP: 429 Há muitas solicitações | 
| FAILED_PRECONDITION | A operação foi rejeitada porque o estado do sistema não é o necessário para a execução dela. Por exemplo, o diretório a ser excluído não está vazio, uma operação "rmdir" foi aplicada a um elemento que não é um diretório etc. Os implementadores de serviços podem usar as diretrizes a seguir para decidir entre  Mapeamento HTTP: 400 Solicitação inválida | 
| ABORTED | A operação foi cancelada. Isso ocorre normalmente devido a um problema de simultaneidade, como falha na verificação do sequenciador ou cancelamento da transação. Consulte as diretrizes acima para decidir entre  Mapeamento HTTP: 409 Conflito | 
| OUT_OF_RANGE | Houve uma tentativa da operação depois do intervalo válido. Por exemplo, busca ou leitura após o fim do arquivo. Diferentemente de  Há alguma sobreposição entre  Mapeamento HTTP: 400 Solicitação inválida | 
| UNIMPLEMENTED | A operação não foi implementada ou não é compatível nem está ativada neste serviço. Mapeamento HTTP: 501 Não implementado | 
| INTERNAL | Erros internos. Significa que algumas invariantes esperadas pelo sistema subjacente foram corrompidas. Este código do erro é reservado para erros graves. Mapeamento HTTP: 500 Erro interno do servidor | 
| UNAVAILABLE | Atualmente, o serviço não está disponível. Muito provavelmente, trata-se de uma condição temporária, que pode ser corrigida ao tentar novamente com uma retirada. Nem sempre é seguro repetir operações não idempotentes. Consulte as diretrizes acima para decidir entre  Mapeamento HTTP: 503 Serviço indisponível | 
| DATA_LOSS | Perda ou corrupção irrecuperável de dados. Mapeamento HTTP: 500 Erro interno do servidor |