Archivez vos fichiers source après traitement grâce au composant tFileCopy
Dans ce tutoriel vous apprendrez à envoyer automatiquement dans un répertoire d’archive tous les fichiers source de votre Job une fois celui – ci exécuté sans erreur.
Prérequis :
- Avoir installé Studio Talend, la partie intégration ETL (Extract Transform Load) des solutions Talend.
- L’application gratuite TOSDI (Talend Open Studio for Data Integration) est suffisante pour disposer des composants utilisés dans ce tutoriel.
- Afin de se familiariser avec l’utilisation du composant tFileList, avoir étudié le tutoriel suivant : Traiter tous les fichiers pertinents d’un répertoire avec le composant tFileList.
Composants ETL utilisés dans le traitement :
tRunJob, tFileList, tFileCopy.
Contexte
Vous avez développé et recetté un Job traitant un ensemble de fichiers source déposés dans un répertoire IN par une application. Vous souhaitez envoyer automatiquement ces fichiers vers un répertoire ARCHIVE seulement dans le cas ou votre Job s’est terminé sans erreur.

Solution :
Dans un premier temps créez votre Job d’archivage puis ses variables de contexte. Vous aurez besoin d’une variable de contexte IN pour le répertoire source et d’une autre ARCHIVE pour le répertoire d’archive :

Insérez un composant tRunJob dans votre Job d’archivage. Ce tRunJob devra pointera vers le Job dont les fichiers source vont être archivés si et seulement si il s’est exécuté correctement. Renommez votre tRunJob afin d’y inclure le nom du Job qu’il déclenche de manière à rendre votre Job plus lisible :

Indiquez le Job Traitement_Commandes pointé par votre tRunJob et dont les fichiers source vont être archivés :

Créez un lien OnComponentOk entre votre tRunJob et un composant tFileList. Indiquez au sein de celui – ci le répertoire contenant les fichiers à archiver (variable de contexte IN) puis indiquez le masque de fichier qui permettra de reconnaitre le nom des fichiers à archiver :

Grâce au lien OnComponentOk l’archivage ne sera déclenché que si le Job pointé par le tRunJob s’est exécuté sans erreur.
Le composant tFileList va permettre d’itérer sur l’ensemble des fichiers à archiver. A cette fin créez un lien Iterate depuis ce composant vers un composant tFileCopy puis indiquez au sein de celui – ci le répertoire cible de la copie (variable de contexte ARCHIVE) :

Depuis le cadre Structure insérez la variable CURRENT_FILEPATH stockant automatiquement la valeur du chemin du fichier à archiver pour l’itération courante. Lorsque vous l’insérez en tant que nom de fichier dans le tFileCopy la fonction (String)globalMap.get est automatiquement générée afin de récupérer le chemin du fichier courant :

Vérifiez que le code de votre Job d’archivage ne contient pas d’erreur puis lancez son exécution. Allez vérifier que les fichiers source on bien été archivés :

Vous savez désormais comment envoyer automatiquement dans un répertoire d’archive tous les fichiers source de votre Job une fois celui – ci exécuté sans erreur.
Laisser un commentaire
Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !