Zerobus-Erfassungsfehlerbehandlung

Fehlerbehandlung

In diesem Abschnitt wird beschrieben, wie Fehler von der Zerobus Ingest-API zurückgegeben werden und wie Clients sie behandeln sollten.

Format von Fehlerantworten

REST (JSON)

Fehlerantworten werden als JSON mit einem entsprechenden HTTP-Statuscode zurückgegeben:

{
  "error_code": "NOT_FOUND",
  "message": "Table \"catalog.schema.table\" cannot be found."
}
Feld Typ Beschreibung
Fehlercode Schnur Ein computerlesbarer Fehlercode, der die Fehlerkategorie identifiziert. Verwenden Sie dies, um zu bestimmen, wie der Fehler programmgesteuert behandelt wird.
Nachricht Schnur Eine für Menschen lesbare Beschreibung des Fehlers. Kann zusätzliche Diagnoseinformationen zur Problembehandlung enthalten. Parsen Sie dieses Feld nicht programmgesteuert. Das Format kann sich ohne Vorankündigung ändern.

gPRC

Fehlerantworten verwenden standardmäßige gRPC-Statuscodes, die über Antworttrailer geliefert werden:

Trailer Beschreibung
grpc-status Ein numerischer Statuscode (z. 3 B. für INVALID_ARGUMENT). Verwenden Sie dies, um zu bestimmen, wie der Fehler programmgesteuert behandelt wird.
grpc-message Eine für Menschen lesbare Beschreibung des Fehlers. Kann zusätzliche Diagnoseinformationen zur Problembehandlung enthalten. Analysieren Sie dieses Feld nicht programmatisch — das Format kann sich ohne Benachrichtigung ändern.

Fehlercodes

In der folgenden Tabelle sind alle Fehlercodes aufgeführt, die von der Zerobus Ingest-API, den entsprechenden Codes auf Protokollebene und dem empfohlenen Clientverhalten zurückgegeben werden.

Clientfehler

Diese Fehler deuten auf ein Problem mit der Anforderung hin. Wiederholen Sie den Vorgang nicht, ohne die Anforderung zu ändern.

Fehlercode (REST) gRPC-Code HTTP-Status Beschreibung Empfohlene Maßnahme
INVALID_PARAMETER_VALUE INVALID_ARGUMENT(3) 400 Die Anforderung enthält ungültige oder falsch formatierte Eingaben, z. B. ein fehlendes erforderliches Feld, ein ungültiges Schema oder ein nicht unterstütztes Datensatzformat. Korrigieren Sie die Anforderung, und übermitteln Sie sie erneut. Prüfen Sie das message Feld für Details, welcher Parameter ungültig ist.
NOT_FOUND NOT_FOUND(5) 404 Die angeforderte Ressource ist nicht vorhanden. Die angegebene Tabelle kann z. B. nicht gefunden werden. Stellen Sie sicher, dass der Ressourcenname korrekt ist und ob er vorhanden ist.
NOT_IMPLEMENTED UNIMPLEMENTED(12) 501 Der angeforderte Vorgang wird nicht unterstützt. Die Tabelle verwendet z. B. ein nicht unterstütztes Feature oder Datenformat. Wiederholen Sie den Vorgang nicht. Überprüfen Sie das message Feld auf Details dazu, was nicht unterstützt wird.

Authentifizierungs- und Autorisierungsfehler

Diese Fehler deuten auf Probleme mit der Identität oder Berechtigungen des Aufrufers hin. Wiederholen Sie den Vorgang nicht mit denselben Anmeldeinformationen.

Fehlercode (REST) gRPC-Code HTTP-Status Beschreibung Empfohlene Maßnahme
UNAUTHENTICATED UNAUTHENTICATED(16) 401 Die Anforderung verfügt nicht über gültige Authentifizierungsanmeldeinformationen. Das Token ist möglicherweise nicht vorhanden, leer, abgelaufen oder ungültig. Aktualisieren Sie oder stellen Sie ein gültiges Authentifizierungstoken bereit und wiederholen Sie den Vorgang.
PERMISSION_DENIED PERMISSION_DENIED(7) 403 Der Aufrufer verfügt nicht über ausreichende Berechtigungen, um den angeforderten Vorgang für die angegebene Ressource auszuführen. Stellen Sie sicher, dass der Aufrufer über die erforderlichen Berechtigungen (z. B. MODIFY, SELECT, USE_CATALOG, USE_SCHEMA) für die Zielressource verfügt.

Serverfehler

Diese Fehler deuten auf ein Problem auf der Serverseite hin. Wiederholen Sie den Vorgang mit exponentiellem Backoff und Jitter.

Fehlercode (REST) gRPC-Code HTTP-Status Beschreibung
UNAVAILABLE UNAVAILABLE(14) 503 Der Dienst kann die Anforderung vorübergehend nicht verarbeiten. Dies ist in der Regel eine vorübergehende Bedingung. Wiederholen Sie den Vorgang mit exponentiellem Backoff und Jitter.
RESOURCE_EXHAUSTED RESOURCE_EXHAUSTED(8) 429 Der Dienst lehnt Anforderungen aufgrund von Ressourcengrenzwerten ab. Verringern Sie ggf. die Anfragekonkurrenz. Wiederholen Sie den Vorgang mit exponentiellem Backoff und Jitter.
INTERNAL_ERROR INTERNAL_ERROR(13) 500 Unerwarteter interner Fehler. Wiederholen Sie den Vorgang nicht. Wenden Sie sich an den Support, und stellen Sie die vollständige Fehlerantwort für die Diagnose bereit.