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.

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.

Prise en main

Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :

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.

  1. 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 :

  2. Recherchez ServiceNow et sélectionnez le connecteur ServiceNow.

    Select the ServiceNow connector.

  3. Configurez les informations du service, testez la connexion et créez le nouveau service lié.

    Configure a linked service to ServiceNow.

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 : ServiceNow 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. Non
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. Non
useEncryptedEndpoints Indique si les points de terminaison de la source de données sont chiffrés suivant le protocole HTTPS. La valeur par défaut est true. Non
useHostVerification Indique si le nom d’hôte du certificat du serveur doit correspondre à celui du serveur en cas de connexion TLS. La valeur par défaut est true. Non
usePeerVerification Indique s’il faut vérifier l’identité du serveur en cas de connexion TLS. La valeur par défaut est true. Non

Exemple :

{
    "name": "ServiceNowLinkedService",
    "properties": {
        "type": "ServiceNow",
        "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, affectez la valeur ServiceNowObject à la propriété type du jeu de données. 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 : ServiceNowObject Oui
tableName Nom de la table. Non (si « query » dans la source de l’activité est spécifié)

Exemple

{
    "name": "ServiceNowDataset",
    "properties": {
        "type": "ServiceNowObject",
        "typeProperties": {},
        "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 à partir de ServiceNow, définissez le type de source sur ServiceNowSource dans l’activité de copie. 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 d’activité de copie doit être définie sur : ServiceNowSource Oui
query Utiliser la requête SQL personnalisée pour lire les données. Par exemple : "SELECT * FROM Actual.alm_asset". Non (si « tableName » est spécifié dans dataset)

Notez les points suivants au moment de spécifier le schéma et la colonne pour ServiceNow dans la requête, et reportez-vous à la section Conseils sur les performances pour en savoir plus sur l’implication des performances de copie.

  • Schéma : spécifiez le schéma avec la valeur Actual ou Display dans la requête ServiceNow, ce que vous pouvez considérer comme le paramètre de sysparm_display_value avec la valeur true ou false quand vous appelez les API REST ServiceNow
  • Colonne : le nom de la colonne pour une valeur réelle sous le schéma Actual est [column name]_value, tandis que pour la valeur d’affichage, sous le schéma Display, le nom est [column name]_display_value. Le nom de colonne doit correspondre au schéma utilisé dans la requête.

Exemple de requête :SELECT col_value FROM Actual.alm_asset OU SELECT col_display_value FROM Display.alm_asset

Exemple :

"activities":[
    {
        "name": "CopyFromServiceNow",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ServiceNow input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ServiceNowSource",
                "query": "SELECT * FROM Actual.alm_asset"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Conseils sur les performances

Schéma à utiliser

ServiceNow possède deux schémas différents : « Actual » qui retourne des données réelles et « Display » qui retourne les valeurs d’affichage des données.

Si votre requête contient un filtre, utilisez le schéma « Actual » pour bénéficier de meilleures performances de copie. Quand la requête porte sur le schéma « Actual », ServiceNow prend en charge le filtre en mode natif au moment d’extraire les données pour retourner uniquement le jeu de résultats filtré, alors qu’en interrogeant le schéma« Display », ADF récupère toutes les données et applique le filtre en interne.

Index

L’index de table ServiceNow peut contribuer à améliorer les performances des requêtes. Consultez Create a table index.

Propriétés de l’activité Lookup

Pour en savoir plus sur les propriétés, consultez Activité Lookup.

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.