Scénario : Utiliser .NET dans Talend - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job à trois composants utilisant une bibliothèque DLL contenant une classe appelée Test1.Class1. On invoque une méthode de cette classe qui traite la valeur et écrit les données dans la console.

Prérequis

Avant de reproduire ce scénario, vous devez d'abord construire votre environnement d'exécution.

  • Créez le DLL à charger par le tDotNETInstantiate

    Cette classe d'exemple construite dans .NET se présente comme suit :

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    
    namespace Test1
    {
        public class Class1
        {
            string s = null;
            public Class1(string s)
            {
                this.s = s;
            }
    
            public string getValue()
            {
                return "Return Value from Class1: " + s;
            }
    
        }
        }

    Cette classe lit la valeur d'entrée et ajoute le texte Return Value from Class1: devant cette valeur. La classe est compilée à l'aide du dernier .NET.

  • Installez le fichier DLL d'exécution à partir du dernier .NET. Dans ce scénario, utilisez janet-win32.dll sous Windows 32 bits et placez-le dans le dossier System32.

    Le DLL d'exécution est compatible avec le DLL à charger.

Relier les composants

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tDotNETInstantiate, tDotNETRow et tLogRow.

  2. Connectez le tDotNETInstantiate au tDotNETRow à l'aide d'un lien Trigger > OnSubjobOk.

  3. Reliez le tDotNETRow au tLogRow à l'aide d'un lien Row > Main.

Configurer le tDotNETInstantiate

  1. Double-cliquez sur le tDotNETInstantiate pour afficher sa vue Basic settings et définir ses propriétés de base.

  2. Cliquez sur le bouton [...] à côté du champ Dll to load et parcourez votre système jusqu'au fichier dll à charger. Vous pouvez également renseigner le champ avec une Assembly. Dans cet exemple, utilisez :

    "C:/Program Files/ClassLibrary1/bin/Debug/ClassLibrary1.dll""

  3. Dans le champ Fully qualified class name, saisissez un nom de classe valide à utiliser. Dans cet exemple, saisissez :

    "Test1.Class1"

  4. Cliquez sur le bouton [+] sous la table Value(s) to pass to the constructor afin d'ajouter une ligne pour la valeur à passer au constructeur.

    Dans cet exemple, saisissez :

    "Hello world"

Configurer le composant tDotNETRow

  1. Double-cliquez sur le composant tDotNETRow afin d'afficher sa vue Basic settings et définir ses propriétés de base.

  2. Cochez la case Propagate data to output.

  3. Cochez la case Use an existing instance et sélectionnez tDotNETInstantiate_1 dans la liste Existing instance to use.

  4. Renseignez le champ Method Name avec le nom de la méthode à utiliser. Dans cet exemple, utilisez "getValue".

  5. Cliquez sur le bouton [...] à côté du champ Edit schema pour ajouter une colonne au schéma.

    Cliquez sur le bouton [+] afin d'ajouter une colonne au schéma et cliquez sur OK pour sauvegarder les modifications.

  6. Sélectionnez newColumn dans la liste Output value target column.

  7. Laissez les autres paramètres tels qu'ils sont.

Configurer le tLogRow

  1. Double-cliquez sur le tLogRow afin d'afficher sa vue Basic settings et définir ses propriétés de base.

  2. Cliquez sur le bouton Sync columns afin de récupérer le schéma défini dans le composant précédent.

  3. Sélectionnez Table dans la zone Mode.

Sauvegardez votre Job et appuyez sur la touche F6 pour l'exécuter.

Vous pouvez constater, dans les résultats, que le texte Return Value from Class1 est ajouté devant la valeur récupérée Hello world.