Index
BadRequest
(message)BadRequest.FieldViolation
(message)Code
(enum)Status
(message)
BadRequest
Décrit les violations dans une requête client. Ce type d'erreur se concentre sur les aspects syntaxiques de la requête.
Champs | |
---|---|
field_violations[] |
Décrit toutes les violations dans une requête client. |
FieldViolation
Type de message utilisé pour décrire un seul champ de requête incorrect.
Champs | |
---|---|
field |
Chemin d'accès menant à un champ du corps de la requête. La valeur sera une séquence d'identifiants séparés par des points, qui identifient un champ de tampon de protocole. Réfléchissez aux éléments suivants :
Dans cet exemple, dans le fichier proto,
En JSON, les mêmes valeurs sont représentées comme suit :
|
description |
Une description des raisons pour lesquelles l'élément de requête est incorrect. |
Code
Les codes d'erreur canoniques pour les API de gRPC.
Parfois, plusieurs codes d'erreur peuvent s'appliquer. Les services doivent renvoyer le code d'erreur le plus spécifique qui s'applique. Par exemple, préférez OUT_OF_RANGE
à FAILED_PRECONDITION
si les deux codes s'appliquent. De même, préférez NOT_FOUND
ou ALREADY_EXISTS
à FAILED_PRECONDITION
.
Enums | |
---|---|
OK |
Pas une erreur, affiché en cas de réussite. Mise en correspondance HTTP : 200 OK |
CANCELLED |
L'opération a été annulée, généralement par l'appelant. Mise en correspondance HTTP : 499 Le client a fermé la requête |
UNKNOWN |
Erreur inconnue. Par exemple, cette erreur peut s'afficher lorsqu'une valeur Mise en correspondance HTTP : 500 Erreur de serveur interne |
INVALID_ARGUMENT |
Le client a spécifié un argument non valide. Notez que cette erreur diffère de Mise en correspondance HTTP : 400 Requête incorrecte |
DEADLINE_EXCEEDED |
Le délai a expiré avant que l'opération puisse se terminer. Pour les opérations qui modifient l'état du système, cette erreur peut être affichée même si l'opération s'est terminée avec succès. Par exemple, une réponse réussie d'un serveur aurait pu être retardée suffisamment longtemps pour que le délai expire. Mappage HTTP : 504 Passerelle hors délai |
NOT_FOUND |
Une entité demandée (fichier ou répertoire, par exemple) est introuvable. Remarque pour les développeurs de serveurs : Mise en correspondance HTTP : 404 Page introuvable |
ALREADY_EXISTS |
L'entité qu'un client a tenté de créer (par exemple, un fichier ou un répertoire) existe déjà. Mise en correspondance HTTP : 409 Conflit |
PERMISSION_DENIED |
L'appelant n'a pas l'autorisation d'exécuter l'opération spécifiée. Mise en correspondance HTTP : 403 Accès interdit |
UNAUTHENTICATED |
La requête ne dispose pas d'identifiants d'authentification valides pour l'opération. Mise en correspondance HTTP : 401 Accès non autorisé |
RESOURCE_EXHAUSTED |
Certaines ressources ont été épuisées ; par exemple, un quota par utilisateur a été atteint ou le système de fichiers dans son intégralité manque d'espace. Mise en correspondance HTTP : 429 Requêtes trop nombreuses |
FAILED_PRECONDITION |
L'opération a été rejetée car le système n'est pas dans un état requis pour exécuter l'opération. Par exemple, le répertoire à supprimer n'est pas vide, une opération rmdir est appliquée à un emplacement qui n'est pas un répertoire, etc. Les développeurs de services peuvent suivre les instructions suivantes pour choisir entre Mise en correspondance HTTP : 400 Requête incorrecte |
ABORTED |
L'opération a été abandonnée, généralement en raison d'un problème de simultanéité, tel qu'un échec de vérification du séquenceur ou un abandon de transaction. Consultez les instructions ci-dessus pour choisir entre Mise en correspondance HTTP : 409 Conflit |
OUT_OF_RANGE |
L'opération a été tentée au-delà de la plage valide. Par exemple, rechercher ou lire après la fin du fichier. Contrairement à Il existe des cas où Mise en correspondance HTTP : 400 Requête incorrecte |
UNIMPLEMENTED |
L'opération n'est pas implémentée ou n'est pas prise en charge/activée dans ce service. Mise en correspondance HTTP : 501 Non implémenté |
INTERNAL |
Erreurs internes. Cela signifie que certains invariants attendus par le système sous-jacent n'ont pas été respectés. Ce code d'erreur est réservé aux erreurs graves. Mise en correspondance HTTP : 500 Erreur de serveur interne |
UNAVAILABLE |
Le service est actuellement indisponible. Il s'agit probablement d'une condition temporaire qui peut être corrigée en réessayant après avoir laissé passer un intervalle entre les tentatives. Notez qu'il n'est pas toujours sûr de relancer des opérations non idempotentes. Consultez les instructions ci-dessus pour choisir entre Mise en correspondance HTTP : 503 Service non disponible |
DATA_LOSS |
Perte ou corruption de données irrécupérable. Mise en correspondance HTTP : 500 Erreur de serveur interne |
État
Le type Status
définit un modèle d'erreur logique adapté aux différents environnements de programmation, y compris les API REST et RPC. Il est utilisé par le protocole gRPC. Chaque message Status
contient trois éléments de données : un code d'erreur, un message d'erreur et les détails de l'erreur.
Pour en savoir plus sur ce modèle d'erreur et sur son utilisation, consultez le Guide de conception d'API.
Champs | |
---|---|
code |
Code d'état, qui doit être une valeur d'énumération de |
message |
Message d'erreur destiné au développeur, qui doit être en anglais. Tout message d'erreur destiné aux utilisateurs doit être localisé et envoyé dans le champ |
details[] |
Liste de messages comportant les détails de l'erreur. Il existe un ensemble commun de types de message utilisable par les API. |