Charger des données ServiceNow dans BigQuery

Vous pouvez charger des données depuis ServiceNow vers BigQuery à l'aide du connecteur du service de transfert de données BigQuery pour ServiceNow. Le service de transfert de données BigQuery vous permet de planifier des tâches de transfert récurrentes qui ajoutent vos dernières données ServiceNow à BigQuery.

Limites

Les transferts de données ServiceNow sont soumis aux limites suivantes :

  • Le connecteur ServiceNow n'est compatible qu'avec l'API ServiceNow Table.
  • Nous vous déconseillons d'exécuter des transferts de données simultanés sur la même instance ServiceNow. Cela peut entraîner des retards ou des échecs en raison de la charge sur l'instance ServiceNow.
    • Nous vous recommandons de décaler les heures de début de vos transferts pour éviter qu'ils ne se chevauchent.
  • Pour améliorer les performances du transfert de données, nous vous recommandons de limiter le nombre de composants à 20 par transfert de données.
  • L'intervalle minimum entre deux transferts de données récurrents est de 15 minutes. L'intervalle par défaut entre transferts récurrents est de 24 heures.
  • Une seule configuration de transfert ne peut prendre en charge qu'une seule exécution de transfert de données à un moment donné. Si une deuxième exécution de transfert de données est planifiée avant la fin de la première, seule la première exécution de transfert de données sera effectuée. Toutes les autres exécutions de transfert de données qui chevauchent la première seront ignorées.
    • Pour éviter les transferts ignorés dans une même configuration de transfert, nous vous recommandons d'augmenter la durée entre les transferts de données volumineux en configurant la fréquence de répétition.

Avant de commencer

Avant de créer un transfert de données ServiceNow, procédez comme suit pour ServiceNow et BigQuery.

Prérequis pour ServiceNow

  • Pour accéder aux API ServiceNow, créez des identifiants OAuth.
  • Les applications ServiceNow suivantes doivent toutes être activées dans l'instance ServiceNow :

  • Pour lancer un transfert ServiceNow, vous devez disposer des identifiants appropriés pour vous connecter à l'instance ServiceNow.

    • Pour obtenir vos identifiants pour une instance ServiceNow pour les développeurs, connectez-vous au portail ServiceNow pour les développeurs. Vous pouvez utiliser le nom d'utilisateur et le mot de passe indiqués sur la page Gérer le mot de passe de l'instance. Pour savoir comment réinitialiser votre mot de passe ServiceNow, consultez Réinitialisation du mot de passe.
    • Pour obtenir vos identifiants pour une instance ServiceNow de production ou de sous-production, contactez votre administrateur client ServiceNow afin de lui demander le nom d'utilisateur et le mot de passe.

Prérequis pour BigQuery

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer un transfert de données Service de transfert de données BigQuery, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer un transfert de données du service de transfert de données BigQuery. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un transfert de données du service de transfert de données BigQuery :

  • Autorisations du service de transfert de données BigQuery :
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Autorisations BigQuery :
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus, consultez Accorder l'accès bigquery.admin.

Configurer un transfert de données ServiceNow

Ajoutez des données ServiceNow dans BigQuery en configurant un transfert à l'aide de l'une des options suivantes :

Console

  1. Accédez à la page "Transferts de données" dans la console Google Cloud .

    Accéder à la page Transferts de données

  2. Cliquez sur Créer un transfert.

  3. Dans le champ Source de la section Type de source, sélectionnez ServiceNow.

  4. Dans la section Data source details (Détails de la source de données), procédez comme suit :

    • (Facultatif) Sous Rattachement de réseau, sélectionnez un rattachement de réseau dans le menu déroulant ou cliquez sur Créer un rattachement de réseau.
    • Sélectionnez un rattachement de réseau pour configurer ce transfert de données afin qu'il utilise une adresse IP unique et cohérente. Vous pouvez utiliser cette option si votre instance ServiceNow est configurée pour n'accepter que le trafic provenant d'adresses IP spécifiques.
    • Pour en savoir plus sur la définition des adresses IP dans ServiceNow, consultez Définir les adresses IP internes ServiceNow autorisées.
    • Dans le champ ID d'instance, saisissez l'ID d'instance ServiceNow. Vous pouvez l'obtenir à partir de votre URL ServiceNow (par exemple, https://INSTANCE_ID.service-now.com).
    • Dans le champ Nom d'utilisateur, saisissez le nom d'utilisateur ServiceNow à utiliser pour la connexion.
    • Dans le champ Mot de passe, saisissez le mot de passe ServiceNow.
    • Dans le champ ID client, saisissez l'ID client à partir de vos identifiants OAuth. Pour générer des identifiants, consultez Créer des identifiants OAuth.
    • Dans le champ Code secret du client, saisissez le code secret du client issu de vos identifiants OAuth.
    • Dans le champ Tables ServiceNow à transférer, saisissez les noms des tables ServiceNow que vous voulez transférer ou cliquez sur Parcourir et sélectionnez les tables concernées.
    • Pour Type de valeur, choisissez l'une des options suivantes :
      • Pour transférer les valeurs stockées dans la base de données, sélectionnez Réel.
      • Pour transférer les valeurs d'affichage des colonnes, sélectionnez Display.
  5. Dans la section Paramètres de destination, pour le champ Ensemble de données, sélectionnez l'ensemble de données que vous avez créé pour stocker vos données.

  6. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.

  7. Dans la section Options de programmation, procédez comme suit :

    • Dans la liste Fréquence de répétition, sélectionnez une option pour spécifier la fréquence d'exécution de ce transfert de données. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, le transfert de données s'exécute lorsque vous le déclenchez manuellement.
    • Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.
  8. Facultatif : dans la section Options de notification, procédez comme suit :

    • Pour activer les notifications par e-mail, cliquez sur le bouton Notification par e-mail. Lorsque vous activez cette option, l'administrateur du transfert reçoit une notification par e-mail si l'exécution du transfert échoue.
    • Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert de données, cliquez sur le bouton Notifications Pub/Sub. Vous pouvez sélectionner le nom de votre sujet ou cliquer sur Créer un sujet pour en créer un.
  9. Cliquez sur Enregistrer.

bq

Saisissez la commande bq mk, puis spécifiez l'indicateur de création de transfert --transfer_config :

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Remplacez les éléments suivants :

  • PROJECT_ID (facultatif) : ID de votre projet Google Cloud . Si aucun ID de projet n'est spécifié, le projet par défaut est utilisé.
  • DATA_SOURCE : source de données (par exemple, servicenow).
  • DISPLAY_NAME : nom à afficher de la configuration de transfert. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert de données si vous devez le modifier ultérieurement.
  • DATASET : ensemble de données cible de la configuration de transfert.
  • PARAMETERS correspond aux paramètres de la configuration de transfert créée, au format JSON. Exemple : --params='{"param":"param_value"}'. Voici les paramètres d'un transfert de données ServiceNow :

    Paramètre ServiceNow Obligatoire ou facultatif Description
    connector.instanceId Requis ID de l'instance ServiceNow
    connector.authentication.username Requis Nom d'utilisateur des identifiants
    connector.authentication.password Requis Mot de passe des identifiants
    connector.authentication.oauth.clientId Requis ID client de l'authentification OAuth générée
    connector.authentication.oauth.clientSecret Requis Code secret du client de l'authentification OAuth générée
    connector.valueType Facultatif Actual ou Display (par défaut : Actual)
    connector.networkAttachment Facultatif Spécifiez un rattachement réseau pour configurer ce transfert de données afin qu'il utilise une adresse IP unique et cohérente. Vous pouvez utiliser cette option si votre instance ServiceNow est sécurisée pour n'accepter que le trafic provenant d'adresses IP spécifiques. Pour en savoir plus sur la définition des adresses IP dans ServiceNow, consultez Définir les adresses IP internes ServiceNow autorisées.

    Par exemple, la commande suivante crée un transfert de données ServiceNow dans le projet par défaut avec tous les paramètres requis :

      bq mk
        --transfer_config
        --target_dataset=mydataset
        --data_source=servicenow
        --display_name='My Transfer'
        --params='{"connector.authentication.oauth.clientId": "1234567890",
            "connector.authentication.oauth.clientSecret":"ABC12345",
            "connector.authentication.username":"user1",
            "connector.authentication.password":"abcdef1234",
            "connector.instanceId":"https://dev-instance.service-now.com",
            "connector.networkAttachment": "projects/dev-project1/regions/us-central1/networkattachments/na1"}'
    

API

Utilisez la méthode projects.locations.transferConfigs.create et fournissez une instance de la ressource TransferConfig.

Lorsque vous enregistrez la configuration du transfert, le connecteur ServiceNow déclenche automatiquement une exécution du transfert en fonction de l'option de planification que vous avez choisie. À chaque exécution du transfert, le connecteur ServiceNow transfère toutes les données disponibles de ServiceNow vers BigQuery.

Pour exécuter manuellement un transfert de données en dehors de votre calendrier habituel, vous pouvez lancer une exécution de remplissage.

Mappage des types de données

Le tableau suivant montre comment les types de données sont mappés lors d'un transfert de données ServiceNow :

Type de données ServiceNow Type de données BigQuery
decimal FLOAT64
integer INTEGER
boolean BOOLEAN
glide_date DATE
glide_date_time DATETIME
glide_time INT64
reference STRING
currency STRING
sys_class_name STRING
domain_id STRING
domain_path STRING
guid STRING
translated_html STRING
journal STRING
string STRING

Résoudre les problèmes de transfert

Les sections suivantes décrivent les problèmes courants lors de la configuration d'un transfert de données ServiceNow.

Pour en savoir plus, consultez la page Résoudre les problèmes liés aux configurations de transfert.

Échec du transfert en raison de l'activation de ServiceNow

Un problème survient et entraîne l'échec des transferts de données lorsque les applications Approvisionnement, Catalogue de produits ou Gestion des contrats ne sont pas activées dans ServiceNow. Pour résoudre ce problème, activez les trois applications :

Un problème se produit lors de l'exécution du transfert

Un problème survient si l'exécution de transfert n'est pas créée comme prévu. Pour identifier le problème, procédez comme suit :

  • Vérifiez les identifiants du compte ServiceNow, tels que Nom d'utilisateur, Mot de passe, ID client et Code secret du client. sont valides.
  • Vérifiez que l'ID d'instance est l'ID valide de votre instance ServiceNow.

Autres erreurs

Pour en savoir plus sur les autres erreurs survenues lors d'un transfert de données ServiceNow, consultez Problèmes de transfert ServiceNow.

Tarifs

Pour en savoir plus sur les tarifs des transferts ServiceNow, consultez la page Tarifs du service de transfert de données.

Étapes suivantes