Gestione degli errori di inserimento zerobus

Questa pagina descrive i codici di errore restituiti dall'API Di inserimento Zerobus e il modo in cui i client devono gestirli. Usare questo riferimento durante la diagnosi delle richieste non riuscite o l'implementazione della logica di gestione degli errori nell'integrazione.

Formato della risposta di errore

Le risposte agli errori includono un codice di errore leggibile dal computer e un messaggio leggibile, recapitato nel formato appropriato per il protocollo.

REST (JSON)

Le risposte di errore vengono restituite come JSON con un codice di stato HTTP appropriato:

{
  "error_code": "NOT_FOUND",
  "message": "Table \"catalog.schema.table\" cannot be found."
}
Campo Tipo Descrizione
error_code string Codice di errore leggibile dal computer che identifica la categoria di errore. Usare questa opzione per determinare come gestire l'errore a livello di codice.
message string Descrizione leggibile dell'errore. Può includere informazioni di diagnostica aggiuntive per la risoluzione dei problemi. Non analizzate questo campo in modo programmativo, perché il suo formato potrebbe cambiare senza preavviso.

gRPC

Le risposte agli errori usano codici di stato gRPC standard, recapitati tramite trailer di risposta:

Trailer Descrizione
grpc-status Codice di stato numerico (ad esempio, 3 per INVALID_ARGUMENT). Usare questa opzione per determinare come gestire l'errore a livello di codice.
messaggio grpc Descrizione leggibile dell'errore. Può includere informazioni di diagnostica aggiuntive per la risoluzione dei problemi. Non analizzate questo campo in modo programmativo, perché il suo formato potrebbe cambiare senza preavviso.

Codici di errore

Le sezioni seguenti descrivono i codici di errore restituiti dall'API Di inserimento Zerobus, i codici a livello di protocollo corrispondenti e il comportamento consigliato del client.

Errori del client

Questi errori indicano un problema con la richiesta. Non riprovare senza modificare la richiesta.

Codice errore (REST) Codice gRPC Stato HTTP Descrizione Azione consigliata
INVALID_PARAMETER_VALUE INVALID_ARGUMENT(3) 400 La richiesta contiene input non valido o malformato, ad esempio un campo obbligatorio mancante, uno schema non valido o un formato di record non supportato. Correggere la richiesta e inviare di nuovo. Esaminare il message campo per informazioni dettagliate su quale parametro non è valido.
NOT_FOUND NOT_FOUND(5) 404 La risorsa richiesta non esiste. Ad esempio, non è possibile trovare la tabella specificata. Verificare che il nome della risorsa sia corretto e che esista.
NOT_IMPLEMENTED UNIMPLEMENTED(12) 501 L'operazione richiesta non è supportata. Ad esempio, la tabella usa una funzionalità o un formato di dati non supportato. Non riprovare. Controllare il message campo per informazioni dettagliate su ciò che non è supportato.

Errori di autenticazione e autorizzazione

Questi errori indicano problemi con l'identità o le autorizzazioni del chiamante. Non riprovare con le stesse credenziali.

Codice errore (REST) Codice gRPC Stato HTTP Descrizione Azione consigliata
UNAUTHENTICATED UNAUTHENTICATED(16) 401 La richiesta non dispone di credenziali di autenticazione valide. Il token potrebbe essere mancante, vuoto, scaduto o non valido. Aggiornare o fornire un token di autenticazione valido e riprovare.
PERMISSION_DENIED PERMISSION_DENIED(7) 403 Il chiamante non dispone di privilegi sufficienti per eseguire l'operazione richiesta sulla risorsa specificata. Verificare che il chiamante disponga dei privilegi necessari (ad esempio, MODIFY, SELECT, USE_CATALOG, , USE_SCHEMA) nella risorsa di destinazione.

Errori del server

Questi errori indicano un problema sul lato server. Riprovare con ritardo esponenziale e variabilità casuale.

Codice errore (REST) Codice gRPC Stato HTTP Descrizione Azione consigliata
UNAVAILABLE UNAVAILABLE(14) 503 Il servizio non è temporaneamente in grado di gestire la richiesta. Si tratta in genere di una condizione temporanea. Riprovare con ritardo esponenziale e variabilità casuale.
RESOURCE_EXHAUSTED RESOURCE_EXHAUSTED(8) 429 Il servizio rifiuta le richieste a causa dei limiti delle risorse. Ridurre la concorrenza delle richieste, se possibile. Riprovare con ritardo esponenziale e variabilità casuale.
INTERNAL_ERROR INTERNAL(13) 500 Si è verificato un errore interno imprevisto. Non riprovare. Contatta il supporto tecnico e fornisci la risposta completa all'errore per la diagnosi.