Tratamento de erros de ingestão do Zerobus
Tratamento de erros
Esta seção descreve como os erros são retornados pela API Zerobus Ingest e como os clientes devem lidar com eles.
Formato da resposta de erro
REST (JSON)
As respostas de erro são retornadas em formato JSON com o código de status HTTP apropriado:
{
"error_code": "NOT_FOUND",
"message": "Table \"catalog.schema.table\" cannot be found."
}
campo | Tipo | Descrição |
|---|---|---|
código_de_erro | string | Um código de erro legível por máquina que identifica a categoria da falha. Use isso para determinar como lidar com o erro programaticamente. |
Mensagem | string | Uma descrição do erro em linguagem acessível a humanos. Pode incluir informações de diagnóstico adicionais para solução de problemas. Não analise este campo programaticamente — seu formato pode mudar sem aviso prévio. |
gPRC
As respostas de erro utilizam códigos de status gRPC padrão, entregues por meio de trailers de resposta:
Reboque | Descrição |
|---|---|
status-grpc | Um código de status numérico (ex.: |
mensagem-grpc | Uma descrição do erro em linguagem acessível a humanos. Pode incluir informações de diagnóstico adicionais para solução de problemas. Não analise este campo programaticamente — seu formato pode mudar sem aviso prévio. |
Códigos de erro
A tabela a seguir lista todos os códigos de erro retornados pela API Zerobus Ingest, seus códigos correspondentes em nível de protocolo e o comportamento recomendado para o cliente.
Erros do cliente
Esses erros indicam um problema com a solicitação. Não tente novamente sem modificar a solicitação.
Código de erro (REST) | Código gRPC | Status HTTP | Descrição | Ação recomendada |
|---|---|---|---|---|
|
| 400 | A solicitação contém dados de entrada inválidos ou malformados, como um campo obrigatório ausente, um esquema inválido ou um formato de registro não suportado. | Corrija a solicitação e envie-a novamente. Inspecione o campo |
|
| 404 | O recurso solicitado não existe. Por exemplo, a tabela especificada não foi encontrada. | Verifique se o nome do recurso está correto e se ele existe. |
|
| 501 | A operação solicitada não é suportada. Por exemplo, a tabela utiliza um recurso ou formato de dados não suportado. | Não tente novamente. Verifique o campo |
Erros de autenticação e autorização
Esses erros indicam problemas com a identidade ou as permissões de quem está ligando. Não tente novamente com as mesmas credenciais.
Código de erro (REST) | Código gRPC | Status HTTP | Descrição | Ação recomendada |
|---|---|---|---|---|
|
| 401 | A solicitação não possui credenciais de autenticação válidas. Os tokens podem estar ausentes, vazios, expirados ou inválidos. | Atualize a página ou forneça um token de autenticação válido e tente novamente. |
|
| 403 | O solicitante não possui privilégios suficientes para executar as operações solicitadas no recurso especificado. | Verifique se o chamador tem os privilégios necessários (por exemplo, |
Erros do servidor
Esses erros indicam um problema no servidor. Tente novamente com recuo exponencial e jitter.
Código de erro (REST) | Código gRPC | Status HTTP | Descrição |
|---|---|---|---|
|
| 503 | O serviço está temporariamente indisponível para processar a solicitação. Essa condição é normalmente transitória. Tente novamente com recuo exponencial e jitter. |
|
| 429 | O serviço está rejeitando solicitações devido aos limites de recurso. Reduza a simultaneidade de requisições, se possível. Tente novamente com recuo exponencial e jitter. |
|
| 500 | Ocorreu um erro interno inesperado. Não tente novamente. Entre em contato com o suporte e forneça a resposta completa do erro para que possamos diagnosticar o problema. |