Sources de données de type de fichier
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.
Méthodes de récupération de fichier
Les méthodes de récupération de fichier suivantes sont disponibles pour copier le fichier à partir de l’endroit où il réside 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 la manière dont les fichiers peuvent être importés.
| Méthode | Description |
|---|---|
| Pièce jointe | Ajoutez et gérez les pièces jointes , ajoutez 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 sécurisée FTP é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 de 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 encodé par URL lors de l’utilisation de l’un ou l’autre de ces protocoles. |
| HTTPS | Récupérez un fichier à l’aide de 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 pour les 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 du XLS hérité dans la mesure du possible pour des performances optimales.
- 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 entraîne l’importation de vos dates avec une année antérieure de quatre ans à celle qui apparaît dans votre feuille de calcul. Reportez-vous à MS Support 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 (VRAI/FAUX), les deux valeurs sont toujours transformées en faux. Pour éviter ce comportement, définissez la glide.transform.boolean.casesensitive propriété sur false.
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 de 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 jeu 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 de 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 erronée 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, à moins que vous ne souhaitiez 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 des sources 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 une 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 importés.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 où 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 entrer une valeur comprise entre 1 et 2147483647 pour spécifier le nombre de nœuds à analyser afin de 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 de glide.db.impex.XMLLoader.max.scan_nodes au-delà de la valeur par défaut de 10, tout le traitement d’importation 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 mettre 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.
- Discard Array (Ignorer le tableau ) n’est plus sélectionné et est supprimé du formulaire.
- L’option Développer l’enfant de nœud est sélectionnée et supprimée du formulaire.
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 Développer les enfants de nœud est sélectionnée et supprimée du formulaire.
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 JavaScript personnalisé afin d’analyser les lignes d’entrée dans la liste de cartes.
- Le line paramètre est une chaîne qui contient les données de ligne 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.
void setSkip(booléen skip) ;booléen getSkip() ;addRow(Carte<Chaîne, Chaîne> map) ;List<Map<String,String>> getRows()
Les valeurs setSkip() et getSkip() définissent et récupèrent l’indicateur skip. Lorsque le marqueur ignorer est défini sur true, l’ensemble du résultat d’analyse Javascript est ignoré.
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 en cours, 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, alors 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 colonnes 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 pour qu’il soit inséré dans la table intermédiaire.