Sources de données du type de fichier

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 10 minutes de lecture
  • Importez un fichier à partir d'une source locale, d'un serveur réseau distant ou d'une autre instance en fournissant un chemin et des informations d'authentification.

    Pour les jeux d’importation de type de fichier, vous pouvez choisir parmi une liste de méthodes de récupération de fichier : SFTP, FTP, FTPS, HTTP, HTTPS et SCP.
    Remarque :
    FTPS n’est pas recommandé, car il n’est plus pris en charge par certains fournisseurs de pare-feu. Envisagez d’utiliser SFTP comme alternative.

    Méthodes de récupération de fichier

    Les méthodes de récupération de fichier suivantes sont disponibles pour copier le fichier de l’endroit où il se trouve vers ServiceNow afin qu’il soit chargé dans un jeu d’importation.

    Après avoir défini les fichiers compatibles pour l’importation, définissez comment les fichiers peuvent être importés.

    Remarque :
    Pour que l’importation réussisse, votre serveur FTP et votre client doivent être configurés pour le même mécanisme d’authentification que celui que vous sélectionnez ici.
    Méthode Description
    Pièce jointe Ajoutez et gérez les pièces jointes d’un fichier à l’enregistrement et importez ce fichier dans un jeu d’importation.
    SFTP Récupérez un fichier à l’aide de SFTP. Des champs sont fournis pour le nom du serveur et les informations d’identification de connexion.
    FTP Récupérez un fichier à partir d’un serveur FTP de votre réseau. Des champs sont fournis pour le nom du serveur et les informations d’identification de connexion.
    Remarque :
    Les transferts FTP sont envoyés en texte clair et ne peuvent pas être cryptés. Utilisez SCP ou SFTP à la place dans la mesure du possible.
    FTPS (SSL authentifié) [non recommandé] Non recommandé, car FTPS n’est plus pris en charge par certains fournisseurs de pare-feu. Envisagez d’utiliser SFTP comme alternative.

    Commande d’authentification sécurisée FTP émise via le protocole SSL (Secure Socket Layer). Cette méthode est également connue sous le nom de FTP explicite sur SSL.

    FTPS (TLS authentifié) [non recommandé] Non recommandé, car FTPS n’est plus pris en charge par certains fournisseurs de pare-feu. Envisagez d’utiliser SFTP comme alternative.

    Commande d’authentification FTP Secure émise via le protocole TLS (Transport Layer Security). Cette méthode est également connue sous le nom de FTP explicite sur TLS.

    FTPS (SSL implicite) [non recommandé] Non recommandé, car FTPS n’est plus pris en charge par certains fournisseurs de pare-feu. Envisagez d’utiliser SFTP comme alternative.

    Dans la sécurité implicite, le serveur FTPS définit un port spécifique que le client (990) doit utiliser pour des connexions sécurisées. La sécurité implicite commence automatiquement par une connexion SSL dès qu’un client FTPS se connecte à un serveur FTPS.

    FTPS (TLS implicite) [non recommandé] Non recommandé, car FTPS n’est plus pris en charge par certains fournisseurs de pare-feu. Envisagez d’utiliser SFTP comme alternative.

    Dans la sécurité implicite, le serveur FTPS définit un port spécifique que le client (990) doit utiliser pour des connexions sécurisées. La sécurité implicite commence automatiquement par une connexion TLS dès qu’un client FTP se connecte à un serveur FTP.

    HTTP Récupérez un fichier à l’aide du protocole HTTP. Des champs sont fournis pour le nom du serveur et les informations d’identification de connexion.
    Important :
    Pour les protocoles HTTP et HTTPS, le chemin d’accès au fichier est automatiquement codé URL. Ne spécifiez pas de chemin d’accès de fichier codé par URL lors de l’utilisation de l’un ou l’autre de ces protocoles.
    HTTPS Récupérez un fichier à l’aide du protocole HTTPS. Des champs sont fournis pour le nom du serveur et les informations d’identification de connexion. Utilisez cette méthode pour transférer des données entre les instances ServiceNow.
    SCP Le protocole SCP (Secure Copy Protocol) transfère en toute sécurité des fichiers entre un hôte local et un hôte distant ou entre deux hôtes distants, à l’aide du protocole Secure Shell (SSH).

    Exemples de sources de données de fichier

    Ces exemples décrivent comment importer différents types de fichiers en tant que sources de données.

    Fichier source de données Excel

    Vous pouvez importer à la fois au format XLSX et au format XLS hérité. XLS est le format par défaut des feuilles de calcul créées dans Excel pour les versions 2003 et antérieures. XLSX est le format par défaut pour Excel 2007 ou version ultérieure. Utilisez XLSX au lieu de l’ancien XLS dans la mesure du possible pour des performances optimales.

    Remarque :
    • Tous les fichiers .xls doivent utiliser le système de date de 1900 plutôt que le système de date de 1904. Le système de date de 1904 fait que vos dates sont importées avec une année qui est quatre ans plus tôt que ce qui apparaît dans votre feuille de calcul. Reportez-vous à l’assistance MS pour plus d’informations sur les systèmes de dates.
    • Lors de l’importation d’un fichier Excel dont les valeurs booléennes majuscules sont (TRUE/FALSE), les deux valeurs se transforment toujours en false. Pour empêcher ce comportement, définissez la glide.transform.boolean.casesensitive propriété sur faux.
    Figure 1. Données de démonstration de Microsoft Excel
    Données de démonstration Microsoft Excel

    Fichier source de données XML

    XPath de chaque ligne
    Les définitions de sources de données XML ont un champ supplémentaire pour spécifier le XPath pour chaque ligne. Ce champ est une expression XPath permettant de sélectionner les éléments dont les enfants sont convertis en lignes dans la table de jeux d’importation. Chaque élément sélectionné entraîne la création d’une ligne dans la table de jeu d’importation. Les enfants de l’élément sélectionné sont convertis en colonnes dans la ligne. Par exemple, pour importer les informations sur la ressource à partir de l’exemple de fichier XML ci-dessous, l’expression XPath doit être spécifiée sous la forme /export/asset. Cette expression correspond aux trois éléments <asset> du fichier, de sorte que trois lignes sont créées. Bien que vous puissiez également spécifier //asset, cette expression est beaucoup moins efficace pour les fichiers volumineux. Utilisez le formulaire de chemin d’accès à l’emplacement absolu pour les expressions XPath lors de l’utilisation du chargeur XML. En d’autres termes, évitez les expressions contenant // à moins que cela ne soit strictement nécessaire.

    Attention à ne pas spécifier une expression XPath insuffisamment restrictive avec un fichier XML volumineux. Par exemple, l’expression /export serait incorrecte pour le fichier d’exemple suivant, car elle correspond à l’élément document (racine). En général, vous ne devez jamais spécifier une expression XPath qui correspond à l’élément racine, sauf si vous souhaitez que tout ce qui se trouve dans le document soit transformé en une seule ligne. La spécification d’une expression XPath insuffisamment restrictive lors de la tentative de chargement de fichiers XML volumineux peut entraîner des temps de traitement longs et une sortie incorrecte. Pour cette raison, il est préférable de tester et de déboguer les spécifications de source de données XML avec de petits fichiers XML contenant seulement quelques lignes de données. Une fois que la spécification a été testée, vous pouvez l’exécuter à nouveau avec le fichier complet.

    Éléments <userInfo>
    Notez que les éléments <userInfo> contenus dans <asset> contiennent des éléments enfants. Ce type d’imbrication crée une colonne appelée userInfo qui contient XML pour l’élément <userInfo> . Si l’option Développer les nœuds enfants est cochée, des colonnes individuelles sont également créées pour userInfo/lastName et userInfo/firstName. Si l’option Développer les nœuds enfants n’est pas cochée, seule la colonne XML userInfo est créée.
    Chargement de données à partir d’un fichier XML
    Lors du chargement des données à partir d’un fichier XML, ServiceNow échantillonne les 10 premiers enregistrements pour déterminer quels champs sont nécessaires pour contenir les données. Si aucun des 10 premiers enregistrements ne spécifie de valeur pour un champ, ServiceNow ce champ n’est pas ajouté à la table qui contient les données importées. Assurez-vous qu’au moins un des 10 premiers enregistrements spécifie une valeur pour tous les champs en cours d’importation.
    Si le fichier XML utilisé pour une source de données XML ne contient pas de champ dans les 10 premiers nœuds, le champ est ignoré. Pour importer le champ et vous assurer qu’il n’est pas ignoré, vous pouvez ajouter la glide.db.impex.XMLLoader.max.scan_nodes propriété système avec une valeur supérieure ou égale à la position du nœud dans lequel le champ est rencontré pour la première fois. Cette propriété s’applique à toutes les sources de données XML. glide.db.impex.XMLLoader.max.scan_nodes La valeur par défaut est 10, mais vous pouvez saisir une valeur comprise entre 1 et 2147483647 pour spécifier le nombre de nœuds à analyser pour déterminer les valeurs à utiliser pour l’importation. Vous pouvez spécifier -1 pour analyser tous les nœuds dans les fichiers XML.
    Important :
    Si vous spécifiez -1 ou augmentez la valeur au-delà de la valeur par défaut de 10, tout le traitement d’importation glide.db.impex.XMLLoader.max.scan_nodes XML peut entraîner une augmentation significative du temps de chargement global.
    <?xml version= "1.0" encoding= "utf-8" ?><export><asset><assetTag>AT-01939</assetTag><type>Desktop</type><os>Windows 7 Professional</os><lastlogondate>12-07-2010 12:31:24</lastlogondate><userInfo><lastName>Loo</lastName><firstName>David</firstName></userInfo><isenabled>true</isenabled></asset><asset><assetTag>AT-53480</assetTag><type>Desktop</type><os>Windows 7 Professional</os><lastlogondate>09-07-2010 13:25:53</lastlogondate><userInfo><lastName>Merritt</lastName><firstName>Norris</firstName></userInfo><isenabled>true</isenabled></asset><asset><assetTag>AT-55782</assetTag><type>Desktop</type><os>Unknown</os><lastlogondate>01-01-1900 00:00:00</lastlogondate><userInfo><lastName>Currie</lastName><firstName>Mike</firstName></userInfo><isenabled>true</isenabled></asset></export>

    Fichier source de données CSV

    Les fichiers CSV sont utilisés comme format de fichier compatible pour le transfert de fichiers entre les plateformes. Un fichier CSV est un fichier texte qui définit une grille, où les virgules définissent les colonnes et les sauts de ligne définissent les lignes. Pour définir un espacement précis pour l’importation de chaînes, vous pouvez éventuellement placer le texte entre guillemets.

    "user_name","name","email","sys_created_on","active"
    "jared.laethem","Jared Laethem","jared.laethem@yourcompany.com","2008-02-24 22:21:32","true"
    "jerrod.bennett","Jerrod Bennett","jerrod.bennett@yourcompany.com","2007-08-12 12:12:18","true"
    "eric.schroeder","Eric Schroeder","eric.schroeder@yourcompany.com","2007-07-03 11:50:20","true"
    "rob.woodbyrne","Rob Woodbyrne","rob.woodbyrne@yourcompany.com","2007-07-03 11:49:57","true"
    "admin","System Administrator","admin@yourcompany.com","2007-07-03 11:48:47","true"
    "christen.mitchell","Christen Mitchell","christen.mitchell@yourcompany.com","2007-05-16 15:26:42","true"
    "rob.phillips","Rob Phillips","rob.phillips@yourcompany.com","2007-01-22 11:25:34","true"
    "davin.czukowski","Davin Czukowski","davin.czukowski@yourcompany.com","2006-07-11 14:01:26","true"
    "luke.wilson","Luke Wilson","luke.wilson@yourcompany.com","2006-02-07 15:29:48","true"
    "bow.ruggeri","Bow Ruggeri","bow.ruggeri@yourcompany.com","2005-07-07 11:39:58","true"
    "don.goodliffe","Don Goodliffe","don.goodliffe@yourcompany.com","2005-05-02 12:28:40","true"
    "david.loo","David Loo","david.loo@yourcompany.com","2005-02-22 16:00:00","true"
    "guest","Guest","guest@yourcompany.com","2004-05-01 17:00:00","true"
    "fred.luddy","Fred Luddy","fred.luddy@yourcompany.com","2004-05-01 17:00:00","true"

    Lorsque vous utilisez des fichiers CSV, vous pouvez spécifier le jeu de caractères de codage à l’aide du champ Propriétés du formulaire Source de données. Vous devrez peut-être configurer la mise en page du formulaire Source de données pour voir ce champ. Par exemple, pour utiliser l’encodage utf-8, saisissez charset=utf-8.

    Données dans une colonne unique

    Pour les formats JSON et XML, cette fonctionnalité vous permet de stocker un enregistrement complet dans une seule colonne.

    Le nom de colonne utilisé pour stocker l’enregistrement complet est data.

    Si vous créez une source de données au format JSON pour enregistrer les données dans une seule colonne, cocher la case Données dans une seule colonne met à jour les options suivantes :
    • Ignorer le tableau n’est plus sélectionné et est supprimé du formulaire.
    • Développer l’enfant de nœud est sélectionné et supprimé du formulaire.
    Figure 2. Données JSON dans une seule colonne
    Données JSON dans une seule colonne

    Si vous créez une source de données au format XML pour enregistrer les données dans une seule colonne et que vous cochez la case Données dans une seule colonne , l’option Étendre les enfants de nœud est sélectionnée et supprimée du formulaire.

    Figure 3. Données XML dans une seule colonne
    Données XML dans une seule colonne

    Format personnalisé (analyse par script)

    Lorsque vous sélectionnez un type de fichier et un format personnalisé (analyse par script), un éditeur Javascript appelé Script d’analyse s’affiche. Vous pouvez utiliser le script d’analyse pour créer un code JavaScript personnalisé afin d’analyser les lignes d’entrée dans la liste des cartes.

    Le Javascript a trois paramètres prédéfinis :
    • Le line paramètre est une chaîne qui contient des données de ligne provenant du fichier source.
    • Il lineNumber s’agit du numéro de ligne du fichier source pour ces données de ligne.
    • Le result paramètre est utilisé pour renvoyer le résultat analysé à partir de Javascript.
    Le result paramètre est une instance de l’objet Java ScopedScriptParseResult. Lorsque vous tapez result., quatre méthodes disponibles apparaissent sous forme de saisie semi-automatique de script dans l’éditeur Javascript :
    Figure 4. Menu à saisie semi-automatique
    Menu à saisie semi-automatique
    • void setSkip(saut booléen) ;
    • booléen getSkip() ;
    • addRow(Map&lt;Chaîne, Chaîne> map) ;
    • List&lt;Map&lt;String,String>> getRows()

    Les paramètres setSkip() et getSkip() définissent et récupèrent l’indicateur skip. Lorsque le marqueur ignorer est défini sur true, l’intégralité du résultat d’analyse Javascript est ignorée.

    addRow() ajoute une carte du résultat de la ligne d’analyse, qui est insérée dans la table intermédiaire.

    getRows() récupère toutes les lignes du résultat d’analyse actuel, qui sont insérées dans la table intermédiaire.

    Une ligne de données sources peut contenir une ligne ou plusieurs lignes. C’est au scénariste de décider comment traiter les données de ligne. Par exemple, pour les données de ligne name=john,computer=windows ; nom=joe,ordinateur=linux ; name=linda,computer=windows, si vous utilisez un point-virgule (;) comme saut de ligne, cette ligne contient trois lignes de données. Chaque ligne est une carte avec deux clés : nom et ordinateur. Le nom et l’ordinateur deviennent les noms de colonne du schéma de la table intermédiaire. Vous pouvez utiliser l’exemple Javascript suivant pour analyser les données de cette ligne :

    (function(line, lineNumber, result) {
     var rowArr = line.split(";");
     var i;
     for(i in rowArr) {
     var map = {};
     var arr = rowArr[i].split(",");
     var x;
     for(x in arr) {
     var items = arr[x].split("=");
     map[items[0]]=items[1];
     }
     result.addRow(map);
     }
    })(line, lineNumber, result);

    Le scénariste doit ajouter le résultat afin que celui-ci soit inséré dans la table intermédiaire.