Aller au contenu principal

Dépanner l'ingestion ServiceNow

Cette page décrit les problèmes courants avec le connecteur ServiceNow dans Databricks Lakeflow Connect et comment les résoudre.

Pour obtenir des conseils généraux de dépannage applicables à tous les pipelines d'ingestion gérés, consultez Dépanner les pipelines d'ingestion gérés.

L'ingestion pour une table particulière est lente​

Dans un premier temps, collaborez avec votre administrateur ServiceNow pour activer l'indexation sur la colonne du curseur. La colonne du curseur est sélectionnée dans la liste suivante, par ordre de préférence : sys_updated_on (1er choix), sys_created_on (2e choix), sys_archived (3e choix). Puis, réessayez votre pipeline d'ingestion. Si le problème persiste, ouvrez un ticket. Pour obtenir des instructions sur l'activation de l'indexation dans ServiceNow, consultez la documentation de ServiceNow.

Pourquoi est-ce que je ne vois pas les suppressions auxquelles je m'attends ?​

Databricks utilise la table sys_audit_delete pour suivre les suppressions. Cela peut prendre 3 à 5 minutes pour que les suppressions apparaissent dans la table sys_audit_delete côté ServiceNow. Patientez quelques minutes, puis réessayez le pipeline. Si le problème persiste, ouvrez un ticket d’assistance.

Erreur de redirect_uri invalide​

Cela signifie généralement qu'il y a une faute de frappe dans l'URL de redirection dans ServiceNow. Essayez de copier l'URL et de la coller dans un décodeur d'URL de votre choix. Dans l'URL décodée, confirmez que le parameter redirect-uri est au format suivant :

https://<workspace>/login/oauth/servicenow.html

Erreur d'authentification​

Erreur :

com.databricks.pipelines.execution.conduit.common.DataConnectorException: [SERVICENOW_CONNECTION_ERROR.OAUTH_TOKEN_EXCHANGE] Failed to authenticate to ServiceNow. This can be caused by issues with your UC credentials, ServiceNow OAuth setup, and more...

Étape 1 :

Vérifiez que vous avez fourni le nom d'utilisateur, le mot de passe, l'ID client et le secret client corrects lors de la création de la connexion Unity Catalog. Pour les connexions OAuth machine à machine (M2M), confirmez uniquement l’identifiant client et le secret client. Le nom d’utilisateur et le mot de passe d’authentification auprès de ServiceNow ne sont pas nécessairement votre nom d’utilisateur et votre mot de passe personnels pour Single Sign On (la SSO). Ce sont les valeurs du nom d’utilisateur et du mot de passe associées à un utilisateur destiné à l’authentification et à l’ingestion avec des services externes.

  1. Dans la barre latérale du Workspace Databricks, cliquez Icône de données. sur **Catalogue**.

  2. En haut du volet Catalogue , cliquez sur l'icône Icône d&#39;engrenage. en forme d'engrenage et sélectionnez Connexions dans le menu.

  3. Cliquez sur le nom de la connexion.

    Les détails de la connexion sont répertoriés dans l'onglet Aperçu .

Étape 2 :

Confirmez que l'utilisateur qui s'authentifie dispose des autorisations dans Accorder des autorisations utilisateur. Pour un accès administrateur, l'utilisateur a besoin du rôle admin, et Databricks recommande le rôle snc_read_only pour limiter davantage les autorisations. Pour un accès avec le moindre privilège, l'utilisateur a besoin des ACL au niveau de la table documentées. Pour les connexions OAuth M2M, l'utilisateur qui s'authentifie est l’ Utilisateur de l’application OAuth dans l’application OAuth.

Étape 3 :

Confirmez que l'utilisateur d'authentification est marqué comme Actif :

  1. Dans ServiceNow, cliquez sur Organization > Users .

  2. Sélectionnez l’utilisateur que vous comptez utiliser pour l’authentification.

  3. Confirmez que la case Active est cochée.

    Utilisateur actif de ServiceNow

**Étape 4** :

Confirmez que le plug-in OAuth 2.0 dans ServiceNow est actif :

  1. Dans ServiceNow, cliquez sur System Definition > Plugins .

  2. Exécutez le script suivant dans la section Scripts - Background :

    var oauthActive = gs.getProperty('com.snc.platform.security.oauth.is.active');
    gs.info('OAuth Active: ' + oauthActive);

    Si le script renvoie true, l'installation du plugin a réussi. Si ce script retourne false, désinstallez-le, puis réinstallez-le.

    Plug-in OAuth 2.0 ServiceNow

Étape 5 :

Confirmez que l'authentification multifactorielle (MFA) est correctement configurée. ServiceNow exige l'MFA par default pour l'OAuth U2M. Si vous rencontrez des échecs d'authentification, confirmez les points suivants :

  • Vous avez fourni votre deuxième méthode d’authentification lors de la connexion.
  • L’authentification des utilisateurs n’est pas bloquée par les politiques MFA.

Un administrateur ServiceNow peut exempter les utilisateurs s’authentifiant de l’exigence MFA. Pour les instructions, consultez Exemption d’utilisateur dans la documentation ServiceNow.

Étape 6 :

Confirmez que l’endpoint OAuth est configuré correctement :

  1. Dans ServiceNow, accédez à System OAuth > Application Registry .

  2. Dans le coin supérieur droit, cliquez sur **Nouveau**.

  3. Dans les options de l'application OAuth, cliquez sur Créer un endpoint d'API OAuth pour les clients externes .

    ServiceNow crée un endpoint API OAuth pour les clients externes

  4. Confirmez que la case Active est cochée.

    ServiceNow nouvelle application OAuth

    Une fois que vous avez créé l'application OAuth avec succès, elle apparaît dans la liste sous System OAuth > Application Registry avec le type OAuth Client .

**Étape 7** :

Si le problème persiste après avoir suivi ces étapes de dépannage, veuillez ouvrir un ticket d'assistance.