Die folgenden Abschnitte beschreiben das Fehlermodell für v2- und v1-Ressourcenmethoden, respectively.
modellv2
Standardmäßig reagieren Ressourcenmethoden mit einem 200-OK-Status.Wenn Anfragen erfolglos sind, gibt Open Cloud Standard-Fehlercodes zurück.Alle Fehlerantworten haben das gleiche Format, das Folgendes beinhaltet:
- code - Repräsentiert den Codes.
- message - Eine Nachricht, die den Fehler erklärt.
- details - Ein Objekt, das mehr Informationen enthält, die spezifisch für den Fehler sind.
Beispielfehler
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Kodierungen
Die folgende Tabelle beschreibt mögliche Werte für code.
Kodierung | HTTP-Status | Beschreibung |
---|---|---|
INVALID_ARGUMENT | 400 | Du hast ein ungültiges Argument wie ein ungültiges universeId übergeben. Du könntest auch fehlende oder ungültigeHeader wie Content-Length und Content-Type haben. |
PERMISSION_DENIED | 403 | Deine Anfrage hat nicht ausreichende Berechtigungen oder Umfänge, um die Operation durchzuführen. |
NOT_FOUND | 404 | Das System kann deine angegebenen Ressourcen nicht finden, wie z. B. einen Datenspeicher-Eintrag. |
ABORTED | 409 | Die Operation wurde abgebrochen. |
RESOURCE_EXHAUSTED | 429 | Du hast nicht genug Quote, um die Operation durchzuführen, typischerweise aufgrund der Übermittlung zu vieler Anfragen. |
CANCELLED | 499 | Das System beendet die Anfrage, typischerweise aufgrund eines Client-Seitenausfalls. |
INTERNAL | 500 | Interner Serverfehler, typischerweise aufgrund eines Serverfehlers. |
NOT_IMPLEMENTED | 501 | Der Server implementiert die API-Methode nicht. |
UNAVAILABLE | 503 | Service nicht verfügbar, wird in der Regel zurückgegeben, wenn der Server ausgefallen ist. |
modellv1
Alle Fehlerantworten haben das gleiche, standardmäßige Format, das umfasst:
- Ein error Feld, das eine hohe Ebene verursacht, die für alle Open Cloud-Endpunkte anwendbar ist.
- Ein erklärender Fehler message, der den Fehler weiter erklärt.
- Ein errorDetails Objekt, das mehr Informationen über den Fehler abdeckt, der für jede API spezifisch ist.
Um die Ursache eines Fehlers zu analysieren, beziehe dich auf den Wert des error -Feldes und des errorDetails -Feldes.Verwende das Feld message als Ergänzung für die Fehlerbehandlung, da es manchmal nicht die gleiche Detaillierungsstufe wie das Feld errorDetails abdeckt.
Beispiel Standard-Datenspeicherfehlerantwort
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Die Beispielfehlerantwort zeigt die hohe Ebene Open Cloud error als INVALID_ARGUMENT , den Fehler message als InvalidCursor und die errorDetails spezifische für Datenbanken mit der datastoreErrorCode als InvalidCursor.Aus den Feldern error und datastoreErrorCode der Antwort kannst du verstehen, dass du einen ungültigen Cursor-Parameter übergeben hast, der zu dem Fehler geführt hat.Du kannst dann deinen Cursor-Parameter korrigieren, um das Problem zu lösen.
Alle bestellten Datenspeicherfehlerantworten haben das gleiche Format, das Folgendes umfasst:
Beispiel bestellte Datenspeicherfehlerantwort
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
Die code wird eine Zeichenkette des hohen Fehlers enthalten, während die message spezifische Details im Zusammenhang mit dem Fehler enthält
Kodierungen
Verweise auf die folgende Tabelle für eine Zusammenfassung aller hochrangigen Open Cloud-Fehler.
HTTP-Statuscode | Fehler | Beschreibungen |
---|---|---|
400 | UNGÜLTIG_ARGUMENT | Du hast ein ungültiges Argument wie ein ungültiges universeId übergeben. Du könntest auch fehlende oder ungültigeHeader wie Content-Length und Content-Type haben. |
403 | UNZUREICHENDE_SCOPE | Die Anfrage erfordert höhere Privilegien als durch den Zugriffstoken bereitgestellt. |
403 | PERMISSION_ABLEHNEN | Deine Anfrage hat nicht genügend Umfang, um die Operation durchzuführen. |
404 | NICHT_FOUND | Das System kann deine angegebenen Ressourcen nicht finden, wie einen Store. |
409 | ABGEBROCHEN | Die Operation wurde wegen eines Konflikts abgebrochen, z. B. die Veröffentlichung eines Ortes, der nicht Teil des Universums ist. |
429 | RESOURCE_EXHAUSTED | Du hast nicht genug Quote, um die Operation durchzuführen, typischerweise aufgrund der Übermittlung zu vieler Anfragen. |
499 | Abgebrochen | Das System beendet die Anfrage, typischerweise aufgrund eines Client-Seitenausfalls. |
500 | INTERN | Interner Serverfehler. Typischerweise ein Serverfehler. |
501 | NOT_IMPLEMENTED | Der Server implementiert die API-Methode nicht. |
503 | NICHT VERFÜGBAR | Service nicht verfügbar. In der Regel ist der Server inaktiv. |