Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Gestion des erreurs
Cette section décrit comment les erreurs sont retournées par l’API d’ingestion Zerobus et comment les clients doivent les gérer.
Format de réponse d’erreur
REST (JSON)
Les réponses d’erreur sont retournées au format JSON avec un code d’état HTTP approprié :
{
"error_code": "NOT_FOUND",
"message": "Table \"catalog.schema.table\" cannot be found."
}
| Champ | Type | Description |
|---|---|---|
| code_erreur | ficelle | Code d’erreur lisible par l’ordinateur identifiant la catégorie d’échec. Utilisez-la pour déterminer comment gérer l’erreur par programme. |
| message | ficelle | Une description de l’erreur à l’intention des utilisateurs. Peut inclure des informations de diagnostic supplémentaires pour la résolution des problèmes. N’analysez pas ce champ par programmation : son format peut changer sans préavis. |
gPRC
Les réponses d’erreur utilisent des codes d’état gRPC standard, remis via des bandes-annonces de réponse :
| Bande-annonce | Description |
|---|---|
| grpc-status | Code d’état numérique (par exemple, 3 pour INVALID_ARGUMENT). Utilisez-la pour déterminer comment gérer l’erreur par programme. |
| grpc-message | Une description de l’erreur à l’intention des utilisateurs. Peut inclure des informations de diagnostic supplémentaires pour la résolution des problèmes. N’analysez pas ce champ par programmation : son format peut changer sans préavis. |
Codes d’erreur
Le tableau suivant répertorie tous les codes d’erreur retournés par l’API Zerobus Ingest, leurs codes de niveau protocole correspondants et le comportement client recommandé.
Erreurs du client
Ces erreurs indiquent un problème avec la requête. Ne réessayez pas sans modifier la requête.
| Code d’erreur (REST) | Code gRPC | État HTTP | Description | Action recommandée |
|---|---|---|---|---|
INVALID_PARAMETER_VALUE |
INVALID_ARGUMENT(3) |
400 | La requête contient une entrée non valide ou incorrecte, telle qu’un champ obligatoire manquant, un schéma non valide ou un format d’enregistrement non pris en charge. | Corrigez la demande et soumettez à nouveau. Examinez le message champ pour plus d’informations sur le paramètre qui n’est pas valide. |
NOT_FOUND |
NOT_FOUND(5) |
404 | La ressource demandée n’existe pas. Par exemple, la table spécifiée est introuvable. | Vérifiez que le nom de la ressource est correct et qu’il existe. |
NOT_IMPLEMENTED |
UNIMPLEMENTED(12) |
5:01 | L’opération demandée n’est pas prise en charge. Par exemple, le tableau utilise une fonctionnalité ou un format de données non pris en charge. | Ne réessayez pas. Vérifiez le message champ pour plus d’informations sur ce qui n’est pas pris en charge. |
Erreurs d’authentification et d’autorisation
Ces erreurs indiquent des problèmes liés à l’identité ou aux autorisations de l’appelant. Ne réessayez pas avec les mêmes informations d’identification.
| Code d’erreur (REST) | Code gRPC | État HTTP | Description | Action recommandée |
|---|---|---|---|---|
UNAUTHENTICATED |
UNAUTHENTICATED(16) |
401 | La demande n’a pas de données d'identification valides. Le jeton peut être manquant, vide, expiré ou non valide. | Actualisez ou fournissez un jeton d’authentification valide et réessayez. |
PERMISSION_DENIED |
PERMISSION_DENIED(7) |
403 | L’appelant n’a pas suffisamment de privilèges pour effectuer l’opération demandée sur la ressource spécifiée. | Vérifiez que l’appelant dispose des privilèges requis (par exemple, MODIFY, , SELECTUSE_CATALOG, USE_SCHEMA) sur la ressource cible. |
Erreurs de serveur
Ces erreurs indiquent un problème côté serveur. Réessayez avec un décalage exponentiel et une instabilité.
| Code d’erreur (REST) | Code gRPC | État HTTP | Description |
|---|---|---|---|
UNAVAILABLE |
UNAVAILABLE(14) |
503 | Le service ne peut pas gérer temporairement la requête. Il s’agit généralement d’une condition temporaire. Réessayez avec un backoff exponentiel et une gigue. |
RESOURCE_EXHAUSTED |
RESOURCE_EXHAUSTED(8) |
429 | Le service rejette les demandes en raison de limites de ressources. Réduisez la concurrence des demandes si possible. Réessayez avec un retrait exponentiel et une gigue. |
INTERNAL_ERROR |
INTERNAL_ERROR(13) |
500 | Une erreur interne inattendue s’est produite. Ne réessayez pas. Contactez le support et fournissez le message d’erreur complet pour le diagnostic. |