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
- Effectuez toutes les actions requises pour activer le service de transfert de données BigQuery.
- Créez un ensemble de données BigQuery pour stocker les données.
- Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, assurez-vous de disposer de l'autorisation Identity and Access Management (IAM)
pubsub.topics.setIamPolicy. Si vous ne configurez que des notifications par e-mail, les autorisations Pub/Sub ne sont pas nécessaires. Pour en savoir plus, consultez la page Notifications d'exécution du service de transfert de données 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
Accédez à la page "Transferts de données" dans la console Google Cloud .
Cliquez sur Créer un transfert.
Dans le champ Source de la section Type de source, sélectionnez ServiceNow.
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.
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.
Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.
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.
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.
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.PARAMETERScorrespond 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.instanceIdRequis ID de l'instance ServiceNow connector.authentication.usernameRequis Nom d'utilisateur des identifiants connector.authentication.passwordRequis Mot de passe des identifiants connector.authentication.oauth.clientIdRequis ID client de l'authentification OAuth générée connector.authentication.oauth.clientSecretRequis Code secret du client de l'authentification OAuth générée connector.valueTypeFacultatif ActualouDisplay(par défaut :Actual)connector.networkAttachmentFacultatif 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.
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 :
- Approvisionnement
- Catalogue de produits
- Gestion des contrats (activée par défaut)
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
- Pour une vue d'ensemble du service de transfert de données BigQuery, consultez la page Présentation du service de transfert de données BigQuery.
- Pour plus d'informations sur l'utilisation des transferts, y compris l'obtention d'informations sur une configuration de transfert, la liste des configurations de transfert et l'affichage de l'historique d'exécution d'un transfert, consultez la page Utiliser les transferts.
- Découvrez comment charger des données avec des opérations multicloud.