Zerobus Ingest : gestion des erreurs
Cette page décrit les codes d'erreur renvoyés par l'API Zerobus Ingest et la manière dont les clients doivent les gérer. Utilisez cette référence lors du diagnostic des requêtes échouées ou de l'implémentation d'une logique de gestion des erreurs dans votre intégration.
Format de réponse d'erreur
Les réponses d'erreur incluent un code d'erreur lisible par une machine et un message lisible par un être humain, fourni dans le format approprié pour votre protocole.
REST (JSON)
Les réponses d'erreur sont renvoyé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 d'erreur | chaîne | Un code d'erreur lisible par machine identifiant la catégorie de défaillance. Utilisez ceci pour déterminer comment gérer l'erreur par programmation. |
Message | chaîne | Une description lisible par un humain de l'erreur. Peut inclure des informations de diagnostic supplémentaires pour le dépannage. Ne parsez pas ce champ par programmation — son format peut changer sans préavis. |
gRPC
Les réponses d’erreur utilisent des codes d’état gRPC standard, fournis via les en-têtes de réponse :
Semi-remorque | Description |
|---|---|
grpc-status | Un code de statut numérique (par exemple, |
grpc-message | Une description lisible par un humain de l'erreur. Peut inclure des informations de diagnostic supplémentaires pour le dépannage. Ne parsez pas ce champ par programmation — son format peut changer sans préavis. |
Codes d'erreur
Les sections suivantes décrivent les codes d'erreur renvoyés par l'API Zerobus Ingest, leurs codes de niveau protocole correspondants et le comportement client recommandé.
Erreurs 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 | Statut HTTP | Description | Action recommandée |
|---|---|---|---|---|
|
| 400 | La requête contient une entrée non valide ou mal formée, telle qu'un champ obligatoire manquant, un schéma non valide ou un format d'enregistrement non pris en charge. | Veuillez corriger la requête et la soumettre à nouveau. Examinez le champ |
|
| 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'elle existe. |
|
| 501 | L'Opération demandée n'est pas prise en charge. Par exemple, la table utilise une fonctionnalité ou un format de données non pris en charge. | Ne pas réessayer. Vérifiez le champ |
Erreurs d'authentification et d'autorisation
Ces erreurs indiquent des problèmes avec l'identité ou les permissions de l'appelant. Ne réessayez pas avec les mêmes identifiants.
Code d'erreur (REST) | Code gRPC | Statut HTTP | Description | Action recommandée |
|---|---|---|---|---|
|
| 401 | La requête ne dispose pas d'identifiants d'authentification valides. Le jeton peut être manquant, vide, expiré ou invalide. | Veuillez refresh ou fournir un jeton d'authentification valide, puis réessayer. |
|
| 403 | L'appelant n'a pas les privilèges suffisants 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, |
Erreurs de serveur
Ces erreurs indiquent un problème côté serveur. Nouvelle tentative avec intervalle exponentiel et jitter.
Code d'erreur (REST) | Code gRPC | Statut HTTP | Description | Action recommandée |
|---|---|---|---|---|
|
| 503 | Le service est temporairement incapable de traiter la requête. Il s'agit généralement d'une condition transitoire. | Nouvelle tentative avec un intervalle exponentiel et une gigue. |
|
| 429 | Le service rejette les demandes en raison des limites de ressources. | Réduisez la simultanéité des requêtes si possible. Nouvelle tentative avec intervalle exponentiel et jitter. |
|
| 500 | Une erreur interne inattendue s'est produite. | Ne pas réessayer. Veuillez contacter le support et fournir la réponse d'erreur complète à des fins de diagnostic. |