Gestion des erreurs d’ingestion zerobus

Cette page décrit les codes d’erreur retournés par l’API d’ingestion Zerobus et la façon dont les clients doivent les gérer. Utilisez cette référence lors du diagnostic des demandes ayant échoué ou lors de l’implémentation de la 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 l’ordinateur et un message lisible par l’homme, remis au format approprié pour votre protocole.

REPOS (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. Ne parsez pas ce champ de façon programmatique, car son format peut changer sans préavis.

gRPC

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. Ne parsez pas ce champ de façon programmatique, car son format peut changer sans préavis.

Codes d’erreur

Les sections suivantes décrivent les codes d’erreur retournés par l’API Zerobus Ingest, leurs codes de niveau protocole correspondants et le comportement client recommandé.

Erreurs de 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 status 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 status 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 status HTTP Description Action recommandée
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 décalage exponentiel et une instabilité.
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 décalage exponentiel et une instabilité.
INTERNAL_ERROR INTERNAL(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.