Felhantering av zerobus-inmatning

Felhantering

Det här avsnittet beskriver hur fel returneras av Zerobus Ingest-API:et och hur klienter ska hantera dem.

Felsvarsformat

REST (JSON)

Felsvar returneras som JSON med lämplig HTTP-statuskod:

{
  "error_code": "NOT_FOUND",
  "message": "Table \"catalog.schema.table\" cannot be found."
}
Fält Type Beskrivning
felkod snöre En maskinläsbar felkod som identifierar felkategorin. Använd detta för att avgöra hur felet ska hanteras programmatiskt.
meddelande snöre En läsbar beskrivning av felet. Kan innehålla ytterligare diagnostikinformation för felsökning. Parsa inte det här fältet programmatiskt – dess format kan ändras utan föregående meddelande.

gPRC

Felsvar använder standard-gRPC-statuskoder som levereras via svarstrailer:

Trailer Beskrivning
grpc-status En numerisk statuskod (t.ex. 3 för INVALID_ARGUMENT). Använd detta för att avgöra hur felet ska hanteras programmatiskt.
grpc-meddelande En läsbar beskrivning av felet. Kan innehålla ytterligare diagnostikinformation för felsökning. Parsa inte det här fältet programmatiskt – dess format kan ändras utan föregående meddelande.

Felkoder

I följande tabell visas alla felkoder som returneras av Zerobus Ingest-API:et, motsvarande koder på protokollnivå och rekommenderat klientbeteende.

Klientfel

Dessa fel indikerar ett problem med begäran. Försök inte igen utan att ändra begäran.

Felkod (REST) gRPC-kod HTTP-status Beskrivning Rekommenderad åtgärd
INVALID_PARAMETER_VALUE INVALID_ARGUMENT(3) 400 Begäran innehåller ogiltiga eller felaktiga indata, till exempel ett fält som saknas, ett ogiltigt schema eller ett postformat som inte stöds. Åtgärda begäran och skicka den igen. Granska fältet message för mer information om vilken parameter som är ogiltig.
NOT_FOUND NOT_FOUND(5) 404 Den begärda resursen finns inte. Det går till exempel inte att hitta den angivna tabellen. Kontrollera att resursnamnet är korrekt och att det finns.
NOT_IMPLEMENTED UNIMPLEMENTED(12) 501 Den begärda åtgärden stöds inte. Tabellen använder till exempel en funktion eller ett dataformat som inte stöds. Försök inte igen. Kontrollera fältet message för mer information om vad som inte stöds.

Autentiserings- och auktoriseringsfel

Dessa fel indikerar problem med anroparens identitet eller behörigheter. Försök inte igen med samma autentiseringsuppgifter.

Felkod (REST) gRPC-kod HTTP-status Beskrivning Rekommenderad åtgärd
UNAUTHENTICATED UNAUTHENTICATED(16) 401 Begäran har inte giltiga autentiseringsuppgifter. Token kanske saknas, är tom, har upphört att gälla eller är ogiltig. Uppdatera eller ange en giltig autentiseringstoken och försök igen.
PERMISSION_DENIED PERMISSION_DENIED(7) 403 Anroparen har inte tillräcklig behörighet för att utföra den begärda åtgärden på den angivna resursen. Kontrollera att anroparen har de behörigheter som krävs (t.ex. MODIFY, , SELECT, USE_CATALOG, USE_SCHEMA) för målresursen.

Serverfel

Dessa fel indikerar ett problem på serversidan. Försök igen med exponentiell backoff och jitter.

Felkod (REST) gRPC-kod HTTP-status Beskrivning
UNAVAILABLE UNAVAILABLE(14) 503 Tjänsten kan tillfälligt inte hantera begäran. Detta är vanligtvis ett tillfälligt villkor. Försök igen med exponentiell backoff och jitter.
RESOURCE_EXHAUSTED RESOURCE_EXHAUSTED(8) 429 Tjänsten avvisar begäranden på grund av resursbegränsningar. Minska förfrågningskonkurrensen vid möjligheten. Försök igen med exponentiell fördröjning och jitter.
INTERNAL_ERROR INTERNAL_ERROR(13) 500 Ett oväntat internt fel uppstod. Försök inte igen. Kontakta supporten och ange det fullständiga felsvaret för diagnos.