Configurer les métadonnées JSON pour un fichier d'entrée - 6.5

Talend ESB Studio Guide utilisateur

EnrichVersion
6.5
EnrichProdName
Talend ESB
task
Création et développement
EnrichPlatform
Studio Talend

Cette section décrit comment définir et charger une connexion à un fichier et charger un schéma JSON pour un fichier d'entrée. Pour définir une connexion à un fichier et un schéma JSON de sortie, consultez Configurer les métadonnées JSON pour un fichier de sortie.

Définir les propriétés générales

  1. Dans cet assistant, définissez les propriétés générales du fichier, afin d'identifier les métadonnées du fichier JSON, telles que le nom (champ Name), l'objectif (champ Purpose) et une Description.

    Le champ Name est obligatoire et les informations que vous renseignez dans le champ Description apparaissent en tant qu'info-bulle lorsque vous placez le pointeur de votre souris sur la connexion.

    Note

    Dans cette étape, il est recommandé de saisir les informations vous permettant de distinguer vos connexions d'entrée et de sortie, puisque l'étape d'après vous demande de choisir entre les deux.

  2. Si nécessaire, configurez le numéro de version et le statut, respectivement dans les champs Version et Status.

    Vous pouvez également gérer la version et le statut d'un élément du référentiel dans la boîte de dialogue [Project Settings]. Pour plus d'informations, consultez Gérer les versions et Gérer les statuts respectivement.

  3. Si nécessaire, cliquez sur le bouton Select à côté du champ Path afin de sélectionner un dossier sous le nœud File Json pour contenir la nouvelle connexion au fichier créée.

  4. Cliquez sur Next pour sélectionner le type de métadonnées.

Configurer le type de métadonnées et charger le fichier d'entrée

  1. Dans la boîte de dialogue, sélectionnez Input Json et cliquez sur Next pour passer à l'étape suivant et charger le fichier d'entrée.

  2. Dans la liste Read By, sélectionnez le type de requête pour lire le fichier source JSON.

    • JsonPath : lit les données JSON selon une requête JsonPath.

      Ce type est le type de requêtes par défaut recommandé pour lire des données JSON afin de gagner en performance et d'éviter les problèmes que vous pouvez rencontrer lors de la lecture de données JSON à partir d'une requête XPath.

    • Xpath : lit les données JSON selon une requête XPath.

  3. Cliquez sur Browse... et parcourez votre répertoire jusqu'au fichier JSON à charger. Vous pouvez également saisir le chemin d'accès complet ou l'URL du fichier JSON.

    Dans cet exemple, le fichier JSON d'entrée contient ceci :

    {"movieCollection": [
        {
            "type": "Action Movie",
            "name": "Brave Heart",
            "details": {
                "release": "1995",
                "rating": "5",
                "starring": "Mel Gibson"
            }
        },
        {
            "type": "Action Movie",
            "name": "Edge of Darkness",
            "details": {
                "release": "2010",
                "rating": "5",
                "starring": "Mel Gibson"
            }
        }
    ]}

    La zone Schema Viewer affiche une prévisualisation de la structure JSON. Vous pouvez développer et visualiser chaque niveau de la structure du fichier JSON.

  4. Saisissez le type d'encodage dans le champ Encoding si le système ne le détecte pas automatiquement.

  5. Dans le champ Limit, définissez le nombre de niveaux dans la profondeur hiérarchique JSON, profondeur à laquelle vous souhaitez limiter la requête JsonPath ou XPath. Saisissez 0 pour ne pas configurer de limite.

    Configurer une valeur inférieure à 5 pour ce paramètre peut empêcher l'assistant de s'arrêter, dans le cas d'un fichier JSON volumineux.

  6. Cliquez sur Next afin de configurer les paramètres du schéma.

Définir le schéma

Dans cette étape, renseignez les paramètres du schéma.

La fenêtre de définition du schéma est composée de quatre vues :

Vue

Description

Source Schema

Arborescence du fichier JSON.

Target Schema

Informations d'extraction et d'itération.

Preview

Aperçu du schéma cible, ainsi que des données d'entrée des colonnes sélectionnées, affichées dans l'ordre défini.

File Viewer

Aperçu des données du fichier JSON.

  1. Alimentez le champ Path loop expression, avec l'expression absolue JsonPath ou Xpath, selon le type de requête sélectionné, du nœud qui fait l'objet de l'itération. Vous pouvez le faire de deux manières :

    • Saisissez l'expression JsonPath ou Xpath absolue du nœud qui fait l'objet de l'itération. Vous pouvez saisir l'expression entière ou appuyer sur Ctrl+Espace pour utiliser la liste d'autocomplétion.

    • Déposez le nœud sélectionné de l'arborescence Source Schema dans le champ Absolute path expression de la table Path loop expression.

      Une flèche orange relie le nœud à l'expression correspondante.

    Note

    Le champ Path loop expression est obligatoire.

  2. Saisissez une limite de boucle dans le champ Loop limit pour restreindre le nombre de nœuds à itérer.

  3. Glissez-déposez les nœuds appropriés de la vue Source Schema vers le champ Relative or absolute path expression.

    Note

    Vous pouvez sélectionner plusieurs nœuds à déposer dans le tableau, en appuyant sur Ctrl ou Maj, et en cliquant sur les nœuds adéquats.

  4. Vous pouvez ajouter autant de colonnes à extraire que vous le souhaitez, supprimer des colonnes, ou en modifier l'ordre, à l'aide de la barre d'outils :

    • Ajoutez ou supprimez une colonne à l'aide des boutons [+] et [x].

    • Modifiez l'ordre des colonnes à l'aide des boutons et .

  5. Si vous souhaitez que schéma contienne des noms de colonnes différents de ceux récupérés dans le fichier d'entrée, saisissez dans la colonne Column name, le libellé des colonnes à afficher dans la zone Preview du schéma.

  6. Cliquez sur Refresh Preview pour afficher l'aperçu du schéma. Les champs apparaissent ainsi dans l'aperçu du schéma dans l'ordre imposé.

  7. Cliquez sur Next pour finaliser le schéma.

Finaliser le schéma

La dernière étape de l'assistant affiche le schéma généré et vous permet de le personnaliser selon vos besoins.

  1. Si nécessaire, renommez le schéma (par défaut, metadata) et saisissez un commentaire.

    Au besoin, personnalisez le schéma : ajoutez, supprimez ou déplacez des colonnes, exportez le schéma vers un fichier XML, ou remplacez le schéma en important le fichier XML de définition de schéma à l'aide de la barre d'outils.

    Assurez-vous que le type de données dans la colonne Type est correctement défini.

    Pour plus d'informations concernant les types de données Java, à savoir le modèle de date, consultez Java API Specification (en anglais).

    Les types de données Talend les plus utilisés sont les suivants :

    • Object : est un type de données Talend générique qui permet le traitement des données sans tenir compte de leur contenu, par exemple, un fichier de données non supporté peut être traité à l'aide d'un composant tFileInputRaw en spécifiant qu'il comporte un type de données Object.

    • List : est une liste d'éléments de type primitifs, séparés par un espace, dans une définition de Schéma XML, définis à l'aide de l'élément xsd:list.

    • Dynamic : est un type de données pouvant être fixé pour une seule colonne à la fin d'un schéma afin de permettre le traitement des champs tels que les colonnes VARCHAR(100), également nommées 'Column<X>' ou si l'entrée comporte un en-tête, dans les noms de colonne figurant dans l'en-tête. Pour plus d'informations, consultez Schéma dynamique.

    • Document : est un type de données permettant le traitement d'un document XML en entier sans tenir compte de son contenu.

  2. Si le fichier JSON sur lequel est basé le schéma a été modifié, cliquez sur le bouton Guess afin de générer à nouveau le schéma. Notez que, si vous avez personnalisé le schéma, la fonctionnalité Guess ne retient pas ces modifications.

  3. Cliquez sur Finish. La nouvelle connexion au fichier, avec son schéma, s'affiche sous le nœud File Json de la vue Repository.

Vous pouvez glisser-déposer la connexion au fichier ou son schéma de la vue Repository dans l'espace de modélisation graphique, en tant que composant tFileInputJSON ou tExtractJSONFields, ou sur un composant existant afin de réutiliser les métadonnées. Pour plus d'informations sur l'utilisation des métadonnées centralisées, consultez Comment utiliser les métadonnées centralisées dans un Job et Paramétrer un schéma du Repository dans un Job.

Pour modifier une connexion à un fichier existante, cliquez-droit sur la connexion dans le Repository et sélectionnez Edit JSON pour ouvrir l'assistant de configuration du fichier.

Pour ajouter un nouveau schéma à une connexion à un fichier existante, cliquez-droit sur la connexion dans le Repository et sélectionnez Retrieve Schema dans le menu contextuel.

Pour éditer un schéma de fichier existant, cliquez-droit sur le schéma dans le Repository et sélectionnez Edit Schema dans le menu contextuel.