Następujące sekcje opisują model błędu dla metod zasobów v2 i v1, odpowiednio.
model błędu zasobu v2
Domyślnie metody zasobów odpowiadają za pomocą statusu 200 OK.Gdy żądania nie powiodą się, Open Cloud zwraca standardowe kody błędu.Wszystkie odpowiedzi na błędy mają ten sam format, który obejmuje:
- code - Reprezentuje kod stanu HTTP.
- message - Wiadomość, która wyjaśnia błąd.
- details - Obiekt, który zawiera więcej informacji specyficznych dla błędu.
Przykładowy błąd
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Kodów
Poniższa tabela opisuje możliwe wartości dla code.
Kodeks | Status HTTP | Opis |
---|---|---|
INVALID_ARGUMENT | 400 | Przekazałeś nieprawidłowy argument, tak jak nieprawidłowy universeId . Możesz również mieć brakujące lub nieprawidłowe nagłówki, takie jak Content-Length i Content-Type . |
PERMISSION_DENIED | 403 | Twoja prośba nie ma wystarczających uprawnień lub zakresu, aby wykonać operację. |
NOT_FOUND | 404 | System nie może znaleźć określonych zasobów, takich jak wpis w magazynie danych. |
ABORTED | 409 | Operacja została przerwana. |
RESOURCE_EXHAUSTED | 429 | Nie masz wystarczającej ilości quota na wykonanie operacji, zwykle z powodu wysyłania zbyt wielu żądań. |
CANCELLED | 499 | System kończy prośba, zwykle z powodu czasu wygaśnięcia po stronie klienta. |
INTERNAL | 500 | Błąd wewnętrzny serwera, zwykle spowodowany błędem serwera. |
NOT_IMPLEMENTED | 501 | Serwer nie implementuje metody API. |
UNAVAILABLE | 503 | Usługa jest niedostępna, zwykle zwracana, gdy serwer jest niedostępny. |
model błędu zasobu v1
Wszystkie odpowiedzi na błędy mają ten sam, standardowy format, który obejmuje:
- Pole error, które jest wysokopoziomową przyczyną, która jest stosowana we wszystkich punktach końcowych Open Cloud.
- Błąd wyjaśniający message, który dalej wyjaśnia błąd.
- Przedmiot errorDetails, który zawiera więcej informacji o błędzie, który jest specyficzny dla każdej API.
Aby przeanalizować przyczynę podstawową błędu, odwołaj się do wartości pola error i pola errorDetails.Użyj pola message jako uzupełnienia dla obsługi błędów, ponieważ czasami może nie pokrywać takiego samego poziomu szczegółowości jak pole errorDetails.
Odpowiedź na błąd standardowego przechowywania danych przykład
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Odpowiedź o błędzie przykładowym pokazuje wysokopoziomową otwartą chmurę jako , błąd jako i specyficzny dla sklepów danych ze jako .Z error i datastoreErrorCode pól odpowiedzi możesz zrozumieć, że przekazałeś nieważny parametr kurora, który spowodował błąd.Następnie możesz skorygować parametr kurora, aby rozwiązać problem.
Wszystkie zamówione odpowiedzi o błędach przechowywania danych mają ten sam format, który obejmuje:
Przykład odpowiedzi na błąd złożonych sklepów danych
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code będzie zawierać ciąg wysokiego poziomu błędu, podczas gdy message będzie zawierać szczegóły związane z błędem
Kodów
Odwołaj się do poniższej tabeli, aby uzyskać przegląd wszystkich poważnych błędów w chmurze otwartej.
Kod stanu HTTP | Błąd | Opisy |
---|---|---|
400 | NIEPRAWIDŁOWY_ARGUMENT | Przekazałeś nieprawidłowy argument, tak jak nieprawidłowy universeId . Możesz również mieć brakujące lub nieprawidłowe nagłówki, takie jak Content-Length i Content-Type . |
403 | Niewystarczający zakres | Wniosek wymaga wyższych uprawnień niż zapewnia to token dostępu. |
403 | PERMISSION_DENIED | Twoja prośba nie ma wystarczającego zakresu, aby wykonać operację. |
404 | NIE_ZNALEZIONO | System nie może znaleźć określonych zasobów, takich jak przechowywanie danych. |
409 | ANULOWANO | Operacja została przerwana z powodu konfliktu, takiego jak opublikowanie miejsca, które nie jest częścią wszechświata. |
429 | Zasób_wyczerpany | Nie masz wystarczającej ilości quota na wykonanie operacji, zwykle z powodu wysyłania zbyt wielu żądań. |
499 | ANULOWANO | System kończy prośba, zwykle z powodu czasu wygaśnięcia po stronie klienta. |
500 | WEWNĘTRZNY | Błąd wewnętrzny serwera. Zazwyczaj błąd serwera. |
501 | NIE_ZREалиzowane | Serwer nie implementuje metody API. |
503 | Niedostępne | Usługa niedostępna. Zazwyczaj serwer jest wyłączony. |