Copier des données de ServiceNow à l’aide d’Azure Data Factory ou Synapse Analytics
S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics
Conseil
Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !
Cet article décrit comment utiliser l’activité de copie dans des pipelines Azure Data Factory et Azure Synapse Analytics pour copier des données à partir de ServiceNow. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.
Important
Le nouveau connecteur ServiceNow fournit une prise en charge native améliorée de ServiceNow. Si vous utilisez le connecteur ServiceNow hérité dans votre solution, nous vous recommandons de mettre à niveau votre connecteur ServiceNow au plus tôt. Reportez-vous à cette section pour plus d’informations sur la différence entre la version héritée et la dernière version.
Fonctionnalités prises en charge
Ce connecteur ServiceNow est pris en charge pour les activités suivantes :
Fonctionnalités prises en charge | IR |
---|---|
Activité de copie (source/-) | ① ② |
Activité de recherche | ① ② |
① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé
Pour obtenir la liste des magasins de données pris en charge en tant que sources et récepteurs, consultez le tableau Magasins de données pris en charge.
Le service fournit un pilote intégré pour permettre la connectivité. Vous n'êtes donc pas tenu d'installer manuellement un pilote pour utiliser ce connecteur.
Utilisez la valeur réelle au lieu de la valeur affichée dans ServiceNow.
Prérequis
Pour utiliser ce connecteur, vous devez disposer d’un rôle avec au moins un accès en lecture aux tables sys_db_object et sys_dictionary dans ServiceNow.
Mise en route
Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :
- L’outil Copier des données
- Le portail Azure
- Le kit SDK .NET
- Le kit SDK Python
- Azure PowerShell
- L’API REST
- Le modèle Azure Resource Manager
Créer un service lié à ServiceNow à l’aide de l’interface utilisateur
Utilisez les étapes suivantes pour créer un service lié à ServiceNow dans l’interface utilisateur du portail Azure.
Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse et sélectionnez Services liés, puis cliquez sur Nouveau :
Recherchez ServiceNow et sélectionnez le connecteur ServiceNow.
Configurez les informations du service, testez la connexion et créez le nouveau service lié.
Détails de configuration des connecteurs
Les sections suivantes fournissent des informations sur les propriétés utilisées pour définir les entités Data Factory spécifiques du connecteur ServiceNow.
Propriétés du service lié
Les propriétés prises en charge pour le service lié ServiceNow sont les suivantes :
Propriété | Description | Obligatoire |
---|---|---|
type | La propriété type doit être définie sur : ServiceNowV2 | Oui |
endpoint | Point de terminaison du serveur ServiceNow (http://<instance>.service-now.com ). |
Oui |
authenticationType | Type d’authentification à utiliser. Les valeurs autorisées sont les suivantes : Basic, OAuth2 |
Oui |
username | Nom d’utilisateur utilisé pour la connexion au serveur ServiceNow pour l’authentification De base et OAuth2. | Oui |
mot de passe | Mot de passe correspondant au nom d’utilisateur pour l’authentification De base et OAuth2. Marquez ce champ en tant que SecureString afin de le stocker en toute sécurité, ou référencez un secret stocké dans Azure Key Vault. | Oui |
clientId | ID client pour l’authentification OAuth2. | Oui pour l’authentification OAuth |
clientSecret | Secret client pour l’authentification OAuth2. Marquez ce champ en tant que SecureString afin de le stocker en toute sécurité, ou référencez un secret stocké dans Azure Key Vault. | Oui pour l’authentification OAuth |
grantType | Spécifie le type de flux OAuth2.0 utilisé par l’application cliente pour accéder au jeton. La valeur par défaut est le mot de passe. | Oui pour l’authentification OAuth |
Exemple :
{
"name": "ServiceNowLinkedService",
"properties": {
"type": "ServiceNowV2",
"typeProperties": {
"endpoint" : "http://<instance>.service-now.com",
"authenticationType" : "Basic",
"username" : "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Propriétés du jeu de données
Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article sur les jeux de données. Cette section fournit la liste des propriétés prises en charge par le jeu de données ServiceNow.
Pour copier des données de ServiceNow, définissez la propriété type du jeu de données sur ServiceNowV2Object. Les propriétés prises en charge sont les suivantes :
Propriété | Description | Obligatoire |
---|---|---|
type | La propriété type du jeu de données doit être définie sur : ServiceNowV2Object | Oui |
tableName | Nom de la table. | Oui |
Exemple
{
"name": "ServiceNowDataset",
"properties": {
"type": "ServiceNowV2Object",
"typeProperties": {
"tableName": "<table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<ServiceNow linked service name>",
"type": "LinkedServiceReference"
}
}
}
Propriétés de l’activité de copie
Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section fournit la liste des propriétés prises en charge par la source ServiceNow.
ServiceNow en tant que source
Pour copier des données de ServiceNow, définissez le type de source dans l’activité de copie sur ServiceNowV2Source. Les propriétés prises en charge dans la section source de l’activité de copie sont les suivantes :
Propriété | Description | Obligatoire |
---|---|---|
type | La propriété type de la source de l’activité de copie doit être définie sur : ServiceNowV2Source | Oui |
expression | Utilisez l’expression pour lire des données. Vous pouvez configurer l’expression dans le Générateur de requêtes. Il a la même utilisation que le générateur de conditions dans ServiceNow. Pour obtenir des instructions sur son utilisation, consultez cet article. Vous pouvez également utiliser des paramètres d’expression. | Non |
Sous : expression |
||
type | Type d’expression. Les valeurs peuvent être Constant (valeur par défaut), Unary, Binary, Field et Nary. | Non |
value | Valeur de constante. | Oui lorsque le type d’expression est Constant ou Field |
, opérateurs | Valeur d’opérateur. Pour plus d’informations sur les opérateurs, consultez la section Opérateurs disponibles pour les champs de choix contenant des chaînes dans cet article. | Oui lorsque le type d’expression est Unary ou Binary |
Opérandes | Liste des expressions sur lesquelles un opérateur est appliqué. | Oui lorsque le type d’expression est Unary ou Binary |
Exemple :
"activities": [
{
"name": "CopyFromServiceNow",
"type": "Copy",
"inputs": [
{
"referenceName": "<ServiceNow input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ServiceNowV2Source",
"expression": {
"type": "Nary",
"operators": [
"<"
],
"operands": [
{
"type": "Field",
"value": "u_founded"
},
{
"type": "Constant",
"value": "2000"
}
]
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Utilisation de paramètres d’expression
Vous pouvez configurer le paramètre d’expression dans Générateur de requêtes en sélectionnant Ajouter un contenu dynamique. Le type de paramètre doit être Object et la valeur doit suivre le format illustré dans l’exemple JSON ci-dessous :
{
"type": "Nary",
"operators": [
"="
],
"operands": [
{
"type": "Field",
"value": "col"
},
{
"type": "Constant",
"value": "val"
}
]
}
Voici un exemple de la source JSON utilisant le paramètre d’expression :
"activities": [
{
"name": "CopyFromServiceNow",
"type": "Copy",
"inputs": [
{
"referenceName": "<ServiceNow input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ServiceNowV2Source",
"expression": {
"type": "Expression",
"value": "@pipeline().parameters.expressionParameter"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Propriétés de l’activité Lookup
Pour en savoir plus sur les propriétés, consultez Activité Lookup.
Mettre à niveau le connecteur ServiceNow
Voici les étapes qui vous aideront à mettre à niveau votre connecteur ServiceNow :
- Créez un service lié en faisant référence à Propriétés du service lié.
- La requête de la source est mise à niveau vers le Générateur de requêtes, qui a la même utilisation que le générateur de conditions dans ServiceNow. Découvrez comment la configurer en faisant référence à ServiceNow en tant que source.
Différences entre ServiceNow et ServiceNow (hérité)
Le connecteur ServiceNow offre de nouvelles fonctionnalités et est compatible avec la plupart des fonctionnalités du connecteur ServiceNow (hérité). Le tableau ci-dessous présente les différences de fonctionnalités entre ServiceNow et ServiceNow (hérité).
ServiceNow | ServiceNow (hérité) |
---|---|
useEncryptedEndpoints, useHostVerification et usePeerVerification ne sont pas pris en charge dans le service lié. | Prend en charge useEncryptedEndpoints, useHostVerification et usePeerVerification dans le service lié. |
Prend en charge le Générateur de requêtes dans la source. | Le Générateur de requêtes n’est pas pris en charge dans la source. |
Les requêtes SQL ne sont pas prises en charge. | Prend en charge les requêtes SQL. |
Les requêtes sortBy ne sont pas prises en charge dans le Générateur de requêtes. | Prend en charge les requêtes sortBy dans la Requête. |
Vous pouvez afficher le schéma dans le jeu de données. | Vous ne pouvez pas afficher le schéma dans le jeu de données. |
Contenu connexe
Pour obtenir une liste des magasins de données pris en charge comme sources et récepteurs par l’activité de copie, consultez la section sur les magasins de données pris en charge.