Planifier un transfert ServiceNow

Le service de transfert de données BigQuery pour ServiceNow vous permet de planifier et de gérer automatiquement les tâches de chargement récurrentes de ServiceNow dans BigQuery.

Limites

Les transferts ServiceNow sont soumis aux limites suivantes :

  • Il n'est pas recommandé d'exécuter des transferts simultanés sur la même instance ServiceNow.
  • L'intervalle minimum entre deux transferts récurrents est de 15 minutes. L'intervalle par défaut entre transferts récurrents est de 24 heures.
  • ServiceNow transfère les tables liées à l'entreprise à partir de trois applications : Approvisionnement, Catalogue de produits et Gestion des contrats. Les tables suivantes peuvent être transférées :

    • ast_contract
    • clm_condition_check
    • clm_condition_checker
    • clm_contract_history
    • clm_m2m_contract_and_terms
    • clm_m2m_contract_asset
    • clm_m2m_contract_user
    • clm_m2m_rate_card_asset
    • clm_terms_and_conditions
    • pc_hardware_cat_item
    • pc_product_cat_item
    • pc_software_cat_item
    • pc_vendor_cat_item
    • proc_po
    • proc_po_item
    • proc_rec_slip
    • proc_rec_slip_item

Avant de commencer

Avant de créer un transfert ServiceNow, effectuez les configurations suivantes pour ServiceNow et BigQuery.

Prérequis pour ServiceNow

Prérequis pour BigQuery

Rôles BigQuery requis

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

Ce rôle prédéfini contient les autorisations requises pour créer un transfert. 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 :

  • bigquery.transfers.update sur l'utilisateur
  • bigquery.datasets.get sur l'ensemble de données cible
  • bigquery.datasets.update sur l'ensemble de données cible

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

Configurer un transfert de données ServiceNow

Les transferts de données de ServiceNow peuvent être créés dans la console Google Cloud ou dans l'outil de ligne de commande bq.

Console

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Cliquez sur Transferts de données > Créer un transfert.

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

  4. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert.

  5. 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. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, ce transfert s'exécute lorsque vous déclenchez manuellement le transfert.

    • 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.

  6. Dans la section Paramètres de destination, pour le champ Ensemble de données de destination, choisissez l'ensemble de données que vous avez créé pour stocker vos données.

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

    • 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 la page Créer des identifiants OAuth.
    • Sous Code secret du client, saisissez le code secret du client à partir de vos identifiants OAuth.
    • Dans le champ Type de valeur, choisissez l'une des options suivantes :
      • Pour transférer les valeurs stockées dans la base de données, choisissez Réel.
      • Pour transférer les valeurs d'affichage des colonnes, sélectionnez Display.
  8. Dans le menu Compte de service, sélectionnez un compte de service parmi ceux associés à votre projet Google Cloud. Le compte de service sélectionné doit disposer des rôles requis pour exécuter ce transfert.

    Si vous vous êtes connecté avec une identité fédérée, vous devez disposer d'un compte de service pour créer un transfert. Si vous vous êtes connecté avec un compte Google, un compte de service pour le transfert est facultatif.

    Pour en savoir plus sur l'utilisation des comptes de service avec des transferts de données, consultez la page Utiliser des comptes de service.

  9. 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 de transfert reçoit une notification par e-mail en cas d'échec de l'exécution du transfert.
    • Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert, 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.
  10. 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 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 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)

    Par exemple, la commande suivante crée un transfert 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"}'
    

API

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

Résoudre les problèmes de transfert

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 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. Par exemple, activez Approvisionnement.

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.

Tarification

Le transfert de données ServiceNow vers BigQuery est gratuit tant que cette fonctionnalité est en version Bêta.

Étapes suivantes