Résolution des problèmes¶
Ce chapitre fournit des lignes directrices pour la résolution des problèmes liés au Snowflake Native SDK for Connectors. Si vous souhaitez découvrir la cause d’une erreur spécifique, vous avez besoin d’outils appropriés qui facilitent le processus de dépannage. C’est pourquoi le Snowflake Native SDK for Connectors propose quelques procédures, vues et autres méthodes pour dépanner efficacement le connecteur.
Réponses de procédure¶
En général, lorsque quelque chose ne va pas avec le connecteur, ou même lorsque l’utilisateur ne peut pas exécuter la procédure particulière avec succès à cause de l’état du connecteur, la première source de données de dépannage devrait être la réponse à la procédure. Dans Snowflake Native SDK for Connectors, la réponse à l’erreur de la procédure est normalisée. La réponse est renvoyée sous forme de VARIANT
avec deux champs, qui sont toujours présents :
response_code
- la valeur de ce champ, en cas de réponse d’erreur, est un code d’erreur, par exempleINVALID_CONNECTOR_STATUS
message
- la valeur de ce champ est un message qui fournit plus d’informations sur l’erreur survenue
Structure d’une réponse d’erreur :
{ "response_code": "<ERROR_CODE>", "message": "<error message>" }
Objets de base de données¶
Le Snowflake Native SDK for Connectors fournit quelques vues et procédures qui permettent de vérifier l’état réel du connecteur.
Vues :
PUBLIC.CONNECTOR_CONFIGURATION
(voir Référence de la configuration de la connexion)PUBLIC.SYNC_STATUS
(voir Référence du statut de la synchronisation)PUBLIC.CONNECTOR_STATS
(voir Référence des statistiques sur les connecteurs)PUBLIC.AGGREGATED_CONNECTOR_STATS
(voir Référence des statistiques sur les connecteurs)
Procédures :
PUBLIC.GET_CONNECTOR_STATUS()
(voir Référence SQL principale)PUBLIC.GET_CONNECTION_CONFIGURATION()
(voir Référence de la configuration de la connexion)
Table des événements¶
Par défaut, les procédures fournies par le SDK qui sont mises en œuvre en Java utilisent ConnectorErrorHelper
pour envelopper les exceptions lancées au cours de l’exécution de la procédure en question. Outre l’enveloppement de l’exception levée et son mappage dans ConnectorResponse
avec un code d’erreur, l’implémentation par défaut de ConnectorErrorHelper
enregistre les événements basés sur les exceptions levées dans la table d’événements si celle-ci est configurée dans le compte du client. Si vous souhaitez en savoir plus sur l’utilisation de la table d’événements, consultez la documentation officielle de Snowflake.
Il est possible de filtrer les journaux générés par Snowflake Native SDK for Connectors à partir de la table d’événements en ne connaissant que le nom de l’instance de l’application. En outre, il est possible de filtrer les journaux d’erreurs qui se sont produites dans les parties les plus courantes du connecteur.
Exemple de requête :
SELECT * FROM PLATFORM_CI_TOOLS.PUBLIC.EVENTS
WHERE RESOURCE_ATTRIBUTES:"snow.database.name" LIKE '<INSTANCE_NAME>'
[AND SCOPE:"name" LIKE '<ERROR_CODE>']
[ORDER BY timestamp DESC];
Codes d’erreurs possibles :
CONFIGURE_CONNECTOR_FAILED
- se produit lorsque l’étape de l’assistant de configuration des connecteurs a échouéSET_CONNECTION_CONFIGURATION_FAILED
- se produit lorsque l’étape de l’assistant de configuration de la connexion a échouéFINALIZE_CONNECTOR_CONFIGURATION_FAILED
- se produit lorsque l’étape de l’assistant de finalisation de la configuration du connecteur a échouéPAUSE_CONNECTOR_FAILED
- se produit lorsque le processus de mise en pause du connecteur a échouéRESUME_CONNECTOR_FAILED
- se produit lorsque le processus de reprise du connecteur a échoué