Partager via


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 :

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.

    Capture d’écran du connecteur ServiceNow.

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

    Capture d’écran de la configuration du service lié pour 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 : 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 :

  1. Créez un service lié en faisant référence à Propriétés du service lié.
  2. 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.

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.