14 janvier 2010
par maryam khiali
4 Commentaires
Talend propose dans son application, de créer des contextes (variables) qui peuvent être déclarés aussi bien au niveau d’un job qu’au niveau d’un projet.
La notion de contexte peut être vraiment utile lors de la gestion de différents environnements : développement, recette, production. Nous allons voir dans ce post comment créer ces contextes.
Deux possibilités s’offrent à nous:
La première solution :
Commençons par une déclaration de connexion classique :

En Cliquant sur le bouton « Exporter comme Contexte », nous obtenons la fenêtre ci-dessous. Puis en cliquant sur l’icône qui est ici encadrée en rouge, Talend nous permet de créer différentes possibilités de contexte pour notre connexion.

Ces contextes sont créés en cliquant sur « nouveau » ici encadré en rouge

C’est enfin dans cette fenêtre que nous pouvons modifier les variables de connexion à nos différents environnements

Et voilà! La connexion fait maintenant appel aux contextes :

Ces contextes sont liés au projet

La seconde solution :
La gestion des environnements pourra se faire en passant par le composant tContextLoad qui fait finalement appel à des fichiers de configuration :
Grâce à un fichier texte comme celui-ci :

Puis dans Talend, les jobs commenceront comme ceci :

Attention ne pas oublier de déclarer ces contextes dans le job :

Et de finalement les déclarer dans les connexions d’input et/ou d’output

Les noms « serveur, port, login… » présents dans le fichier texte doivent avoir le même nom que les variables de contexte. C’est ainsi que dans un même fichier on pourra déclarer plusieurs connexions. Vous n’avez plus qu’à créer un fichier de dev, un autre de recette et un de prod et le tour est joué!
Ces deux solutions sont réalisables aussi bien sur TIS que sur TOS. L’une gère la connexion au niveau du projet (solution 1) et l’autre au niveau du job (solution 2).
Pour le schedule de l’exécution des jobs, sous TOS, il faudra fonctionner avec des script bash.
-En exportant les scripts du job en .zip en faisant clique droit « exporter les scripts du job » sur le job que vous aurez sélectionné. Puis dans le .zip vous trouverez un .sh ou .bat. En vous mettant dans ce répertoire vous pourrez exécuter des lignes de commandes de type :
- test_run.bat –context_param filename=C:/Prod.txt –context=Default sous Windows et
- sh ./test_run.sh –context_param filename=home/test_fichier_load.txt –context=Default (attention au permission n’oublier pas le chmod)
Si on regarde cette ligne de commande de plus près :
- soit vous pourrez passer par le fichier –context_param filename=C:/Prod.txt si vous avez un context load (solution 2) dans le job ou
- soit vous pourrez enlever cette partie faisant appel au fichier et changer –context=Default en mettant –context=PROD par exemple si le contexte est géré dans le projet (solution 1)
Sous TIS Lors de la construction du job le développeur prendra comme contexte par défaut (celui de dev). Par la suite ce job pourra être scheduler par l’administrateur. Il pourra choisir le contexte d’exemption approprié sur la plateforme que propose TIS : Talend Administration Center (TAC).
Voilà j’espère avoir été claire sur cette gestion des environnements par contexte. Si vous avez des commentaires n’hésitez pas…