Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Tratamento de erros
Esta secção descreve como os erros são devolvidos pela API Zerobus Ingest e como os clientes devem lidá-los.
Formato de Resposta ao Erro
REST (JSON)
As respostas de erro são devolvidas como JSON com um código de estado HTTP apropriado:
{
"error_code": "NOT_FOUND",
"message": "Table \"catalog.schema.table\" cannot be found."
}
| Campo | Type | Descrição |
|---|---|---|
| código de erro | cadeia (de caracteres) | Um código de erro legível por máquina que identifica a categoria de falha. Use isto para determinar como lidar programaticamente com o erro. |
| mensagem | cadeia (de caracteres) | Uma descrição do erro legível por humanos. Pode incluir informações de diagnóstico adicionais para resolução de problemas. Não analise este campo programaticamente — o seu formato pode mudar sem aviso. |
gPRC
As respostas de erro utilizam os códigos de estado padrão do gRPC, transmitidos através de trilhas de resposta.
| Trailer | Descrição |
|---|---|
| Estatuto GRPC | Um código de estado numérico (por exemplo, 3 para INVALID_ARGUMENT). Use isto para determinar como lidar programaticamente com o erro. |
| grpc-message | Uma descrição do erro legível por humanos. Pode incluir informações de diagnóstico adicionais para resolução de problemas. Não analise este campo programaticamente — o seu formato pode mudar sem aviso. |
Códigos de erro
A tabela seguinte lista todos os códigos de erro devolvidos pela API Zerobus Ingest, os respetivos códigos ao nível do protocolo e o comportamento recomendado do cliente.
Erros do Cliente
Estes erros indicam um problema com o pedido. Não tente novamente sem modificar o pedido.
| Código de Erro (REST) | Código gRPC | Estado HTTP | Descrição | Ação Recomendada |
|---|---|---|---|---|
INVALID_PARAMETER_VALUE |
INVALID_ARGUMENT(3) |
400 | O pedido contém entrada inválida ou mal formada, como um campo obrigatório em falta, um esquema inválido ou um formato de registo não suportado. | Corrige o pedido e volta a submeter. Inspecione o message campo para detalhes sobre qual o parâmetro inválido. |
NOT_FOUND |
NOT_FOUND(5) |
404 | O recurso solicitado não existe. Por exemplo, a tabela especificada não pode ser encontrada. | Verifica se o nome do recurso está correto e que existe. |
NOT_IMPLEMENTED |
UNIMPLEMENTED(12) |
501 | A operação solicitada não é suportada. Por exemplo, a tabela utiliza uma característica ou formato de dados não suportado. | Não volte a tentar. Consulte o message campo para detalhes sobre o que não é suportado. |
Erros de Autenticação e Autorização
Estes erros indicam problemas com a identidade ou permissões do chamador. Não tente novamente com as mesmas credenciais.
| Código de Erro (REST) | Código gRPC | Estado HTTP | Descrição | Ação Recomendada |
|---|---|---|---|---|
UNAUTHENTICATED |
UNAUTHENTICATED(16) |
401 | O pedido não tem credenciais de autenticação válidas. O token pode estar em falta, vazio, expirado ou inválido. | Atualize ou forneça um token de autenticação válido e tente novamente. |
PERMISSION_DENIED |
PERMISSION_DENIED(7) |
403 | O chamador não tem privilégios suficientes para realizar a operação solicitada no recurso especificado. | Verifique se o chamador tem os privilégios necessários (por exemplo, MODIFY, SELECT, USE_CATALOG, USE_SCHEMA) sobre o recurso alvo. |
Erros de servidor
Estes erros indicam um problema do lado do servidor. Tenta novamente com recuo exponencial e tremores.
| Código de Erro (REST) | Código gRPC | Estado HTTP | Descrição |
|---|---|---|---|
UNAVAILABLE |
UNAVAILABLE(14) |
503 | O serviço está temporariamente incapaz de tratar do pedido. Isto é tipicamente uma condição transitória. Tenta novamente com recuo exponencial e tremores. |
RESOURCE_EXHAUSTED |
RESOURCE_EXHAUSTED(8) |
429 | O serviço está a rejeitar pedidos devido a limitações de recursos. Reduza a simultaneidade dos pedidos, se possível. Tenta novamente com recuo exponencial e tremores. |
INTERNAL_ERROR |
INTERNAL_ERROR(13) |
500 | Ocorreu um erro interno inesperado. Não volte a tentar. Contacte o apoio técnico e forneça a resposta completa ao erro para diagnóstico. |