Die folgenden Abschnitte beschreiben das Fehlermodell für v2 und v1 Ressourcen Methoden, jeweils.
v2 Ressourcenfehlermodell
Standardmäßig reagieren Ressourcen- Methoden mit einem 200-OK-Status. Wenn Anfragen unerfolgreisch sind, gibt Open Cloud Standard-Fehlercodes zurück. Alle Fehlerantworten haben das gleiche Format, das folgende enthält:
- code - Repräsentiert den Codes.
- message - Eine Nachricht, die die Fehler erklärt.
- details - Ein Objekt, das mehr Informationen zum Fehler enthält.
Beispiel-Fehler
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Codes
Die folgende Tabelle beschreibt mögliche Werte für code .
Code | HTTP-Status | Beschreibung |
---|---|---|
INVALID_ARGUMENT | 400 | Du hast ein ungültiges Argument, wie ein ungültiges universeId . Du hast möglicherweise auch fehlende oder ungültigeHeader, wie z. B. Content-Length und Content-Type. |
PERMISSION_DENIED | 403 | Ihre Anfrage hat nicht ausreichende Berechtigungen oder Zugriffsberechtigungen, um die Operation auszuführen. |
NOT_FOUND | 404 | Das System kann Ihre angegebenen Ressourcen nicht finden, wie z. B. einen Datenspeicher-Eintrag. |
ABORTED | 409 | Die Operation wurde abgebrochen. |
RESOURCE_EXHAUSTED | 429 | Sie haben nicht genug Quote, um die Operation auszuführen, normalerweise aufgrund der Sendung von zu vielen Anfragen. |
CANCELLED | 499 | Das System beendet die Anfrage, typischerweise aufgrund einer Client-seitigen Timeout. |
INTERNAL | 500 | Interner Serverfehler, der sich normalerweise auf einen Serverbug bezieht. |
NOT_IMPLEMENTED | 501 | Der Server implementiert die API-Methode nicht. |
UNAVAILABLE | 503 | Dienst ist nicht verfügbar, wird normalerweise zurückgegeben, wenn der Server heruntergefahren ist. |
v1 Ressourcenfehler-Modell
Alle Fehlerantworten haben das gleiche, Standard- Format, das folgende Formate enthält:
- Ein error Feld, das eine hohe Stufe Cause ist, die auf alle Open Cloud-Endpunkte angewandt wird.
- Ein erklärendes Fehler message, der die Fehler weiter erklärt.
- Ein errorDetails -Objekt, das mehr Informationen des Fehlers bietet, der für jede API spezifisch ist.
Um die Wurzelursache eines Fehlers zu analysieren, beachten Sie den Wert des Feldes error und das Feld errorDetails. Verwenden Sie das Feld message als Ergänzung für die Fehlerbehandlung, da es manchmal nicht die gleiche Ebene an Details wie das Feld 2>errorDetails2> abdeckt.
Beispiel Standard-Datenspeicherungsfehler
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Die Beispielfehlerantwort zeigt den high-level Open Cloud error als INVALID_ARGUMENT
Alle bestellten Datenstores haben Fehlerantworten in der gleichen Form, die inklusive:
Beispiel Ordered DataStores Error-Antwort
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
Die code enthalten eine Reihe von hohen Fehlern, während die message spezifische Details enthalten, die sich auf den Fehler beziehen
Codes
Verweisen Sie auf die folgende Tabelle für eine Zusammenfassung aller wichtigen Open Cloud-Fehler.
HTTP-Status-Code | Fehler | Beschreibungen |
---|---|---|
400 | UNGÜLTIGES_ARGUMENT | Du hast ein ungültiges Argument, wie ein ungültiges universeId . Du hast möglicherweise auch fehlende oder ungültigeHeader, wie z. B. Content-Length und Content-Type. |
403 | UNZUREICHENDE_SICHT | Die Anfrage erfordert höhere Privilegien als diejenigen, die vom Zugriffstoken bereitgestellt werden. |
403 | PERMISSION_ABGELEHNT | Ihre Anfrage hat nicht ausreichend Reichweite, um die Operation auszuführen. |
404 | NICHT_GEFUNDEN | Das System kann Ihre angegebenen Ressourcen nicht finden, wie z. B. einen Store. |
409 | ABGESAGT | Die Operation wurde abgebrochen, da ein Konflikt aufgetreten ist, z. B. die Veröffentlichung eines Ortes, der kein Teil des Universums ist. |
429 | RESOURCE_ERMÜDUNG | Sie haben nicht genug Quote, um die Operation auszuführen, normalerweise aufgrund der Sendung von zu vielen Anfragen. |
499 | ABGESAGT | Das System beendet die Anfrage, typischerweise aufgrund einer Client-seitigen Timeout. |
500 | INNEN | Interner Serverfehler. Typischerweise ein Serverbug. |
501 | NICHT_구현됨 | Der Server implementiert die API-Methode nicht. |
503 | NICHT VERFÜGBAR | Dienst nicht verfügbar. Typischerweise ist der Server nicht verfügbar. |