Kanoniczne kody błędów interfejsów API gRPC.
Czasami może obowiązywać wiele kodów błędów. Usługi powinny zwracać najbardziej szczegółowy kod błędu. Na przykład: OUT_OF_RANGE
zamiast FAILED_PRECONDITION
, jeśli oba kody są stosowane. Podobnie preferuj NOT_FOUND
lub ALREADY_EXISTS
zamiast FAILED_PRECONDITION
.
Wartości w polu enum | |
---|---|
OK |
To nie błąd; powodzenie zostało zwrócone. Mapowanie HTTP: 200 OK |
CANCELLED |
Operacja została anulowana przez operatora. Mapowanie HTTP: żądanie zamknięte przez klienta 499 |
UNKNOWN |
Nieznany błąd. Ten błąd może się np. pojawić, gdy wartość Mapowanie HTTP: wewnętrzny błąd serwera 500 |
INVALID_ARGUMENT |
Klient podał nieprawidłowy argument. Różni się to od Mapowanie HTTP: błąd 400 |
DEADLINE_EXCEEDED |
Termin upłynął przed wykonaniem operacji. W przypadku operacji, które zmieniają stan systemu, ten błąd może zostać zwrócony nawet wówczas, gdy operacja zakończyła się pomyślnie. Na przykład pomyślna odpowiedź serwera mogła być tak opóźniona, że termin upłynął. Mapowanie HTTP: przekroczenie limitu czasu bramy 504 |
NOT_FOUND |
Nie znaleziono żądanego elementu (np. pliku lub katalogu). Uwaga dla programistów serwerów: jeśli żądanie zostanie odrzucone dla całej klasy użytkowników, na przykład stopniowego wdrażania funkcji lub listy dokumentów nieudokumentowanych, można użyć Mapowanie HTTP: nie znaleziono 404 |
ALREADY_EXISTS |
Element, który klient próbował utworzyć (np. plik lub katalog), już istnieje. Mapowanie HTTP: konflikt 409 |
PERMISSION_DENIED |
Element wywołujący nie ma uprawnień do wykonania określonej operacji. Mapowanie HTTP: 403 Zabronione |
UNAUTHENTICATED |
Żądanie nie ma prawidłowych danych uwierzytelniających dla tej operacji. Mapowanie HTTP: błąd 401 |
RESOURCE_EXHAUSTED |
Jeden zasób został wyczerpany – być może limit na użytkownika lub cały system plików zabrakło miejsca. Mapowanie HTTP: 429 zbyt wiele żądań |
FAILED_PRECONDITION |
Operacja została odrzucona, ponieważ system nie znajduje się w stanie wymaganym do jej wykonania. Na przykład katalog do usunięcia nie jest pusty, operacja RMdir zostanie zastosowana do katalogu itp. Decydując się na usługę Mapowanie HTTP: błąd 400 |
ABORTED |
Operacja została przerwana, zwykle z powodu problemu równoczesności, np. w wyniku kontroli sekwencera lub przerwania transakcji. Powyższe wytyczne ułatwią Ci wybór pomiędzy Mapowanie HTTP: konflikt 409 |
OUT_OF_RANGE |
Podjęto próbę wykonania operacji poza prawidłowym zakresem. Przykładem może być przeszukiwanie na końcu pliku lub odczyt go. W przeciwieństwie do W pewnym stopniu pokrywają się między Mapowanie HTTP: błąd 400 |
UNIMPLEMENTED |
Operacja nie została zaimplementowana w usłudze lub nie jest obsługiwana. Mapowanie HTTP: błąd 501 nie został zaimplementowany |
INTERNAL |
Błędy wewnętrzne. Oznacza to, że pewne niezmienniki oczekiwane przez system bazowy zostały uszkodzone. Ten kod błędu jest zarezerwowany dla poważnych błędów. Mapowanie HTTP: wewnętrzny błąd serwera 500 |
UNAVAILABLE |
Usługa jest obecnie niedostępna. Jest to najczęściej stan przejściowy, który można rozwiązać, ponawiając próbę. Pamiętaj, że nie zawsze można ponawiać próby niezwiązane z identyfikacją. Powyższe wytyczne ułatwią Ci wybór pomiędzy Mapowanie HTTP: usługa 503 niedostępna |
DATA_LOSS |
Nieodwracalna utrata danych lub uszkodzenie. Mapowanie HTTP: wewnętrzny błąd serwera 500 |