Les sections suivantes décrivent le modèle d'erreur pour les méthodes de ressource v2 et v1, respectivement.
modèlisationd'erreur de ressource v2
Par défaut, les méthodes de ressource répondent avec un statut 200 OK.Lorsque les demandes échouent, Open Cloud renvoie des codes d'erreur standard.Toutes les réponses aux erreurs ont le même format, qui incluent :
- code - Représente le code d'état HTTP.
- message - Un message qui explique l'erreur.
- details - Un objet qui contient plus d'informations spécifiques à l'erreur.
Exemple d'erreur
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Codes
La table suivante décrit les valeurs possibles pour code.
Code | Statut HTTP | Avertissement |
---|---|---|
INVALID_ARGUMENT | 400 | Vous avez passé un argument invalide, tel qu'un argument invalide universeId. Vous pourriez également manquer ou avoir des en-têtes invalides, tels que Content-Length et Content-Type. |
PERMISSION_DENIED | 403 | Votre demande n'a pas de permissions ou de portée suffisantes pour effectuer l'opération. |
NOT_FOUND | 404 | Le système ne peut pas trouver vos ressources spécifiées, telles qu'une entrée de magasin de données. |
ABORTED | 409 | L'opération a été abandonnée. |
RESOURCE_EXHAUSTED | 429 | Vous n'avez pas assez de quota pour effectuer l'opération, généralement en raison d'envoi de trop de demandes. |
CANCELLED | 499 | Le système termine la demande, généralement en raison d'un délai d'expiration côté client. |
INTERNAL | 500 | Erreur interne du serveur, généralement due à un bug du serveur. |
NOT_IMPLEMENTED | 501 | Le serveur n'implémente pas la méthode API. |
UNAVAILABLE | 503 | Le service n'est pas disponible, généralement retourné lorsque le serveur est en panne. |
modèlisationd'erreur de ressource v1
Toutes les réponses aux erreurs ont le même format standard, qui comprend :
- Un champ error de niveau élevé qui est une cause applicable à tous les points de fin du cloud ouvert.
- Une erreur explicative message , qui explique davantage l'erreur.
- Un objet errorDetails qui couvre plus d'informations sur l'erreur qui est spécifique à chaque API.
Pour analyser la cause racine d'une erreur, référez-vous à la valeur du champ error et du champ errorDetails.Utilisez le champ message comme complément pour la gestion des erreurs, car il ne couvre parfois pas le même niveau de détails que le champ errorDetails.
Réponse d'erreur standard des magasins de données exemple
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
La réponse d'erreur d'exemple montre la réponse d'erreur de haut niveau Open Cloud comme , l'erreur comme , et la réponse d'erreur spécifique à les magasins de données avec le comme .A partir des champs error et datastoreErrorCode de la réponse, vous pouvez comprendre que vous avez passé un paramètre de curseur invalide qui a causé l'erreur.Vous pouvez ensuite corriger le paramètre curseur pour résoudre le problème.
Toutes les réponses d'erreur des magasins de données commandés ont le même format, qui comprend :
Réponse d'erreur des magasins de données ordonnés d'exemple
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
Le code contiendra une chaîne d'erreur de haut niveau, tandis que le message contiendra des détails spécifiques liés à l'erreur
Codes
Référez-vous à la table suivante pour un résumé de toutes les erreurs de niveau élevé du cloud ouvert.
Code d'état HTTP | Erreur | Descriptions |
---|---|---|
400 | INVALIDE_ARGUMENT | Vous avez passé un argument invalide, tel qu'un argument invalide universeId. Vous pourriez également manquer ou avoir des en-têtes invalides, tels que Content-Length et Content-Type. |
403 | INSUFFICIENT_SCOPE | La demande nécessite des privilèges plus élevés que ceux fournis par le jeton d'accès. |
403 | PERMISSION_REFUSÉ | Votre demande n'a pas assez de portée pour effectuer l'opération. |
404 | NOT_FOUND | Le système ne peut pas trouver vos ressources spécifiées, comme un boutiquede données. |
409 | ANNULÉ | L'opération a été abandonnée en raison d'un conflit, comme la publication d'un lieu qui n'est pas partie de l'univers. |
429 | RESOURCE_EXHAUSTÉ | Vous n'avez pas assez de quota pour effectuer l'opération, généralement en raison d'envoi de trop de demandes. |
499 | ANNULÉ | Le système termine la demande, généralement en raison d'un délai d'expiration côté client. |
500 | INTÉRIOR | Erreur interne du serveur. Habituellement un bug de serveur. |
501 | NON_ implémenté | Le serveur n'implémente pas la méthode API. |
503 | NON DISPONIBLE | Service indisponible. Habituellement, le serveur est en panne. |