Comment automatiser l’envoi d’une tâche par e-mail – Envoyer une histoire moyenne à votre liste
Comme toutes mes histoires précédentes. J’ai d’abord configuré le dossier du projet pour qu’il corresponde à la convention de dénomination appropriée. Cela aide à normaliser le processus et à minimiser la courbe d’apprentissage pour les autres développeurs.
Ici, nous avons besoin de dossiers d’entrée, de sortie et de transformation. Nous allons créer plusieurs transformations pour diverses activités.
Nous avons besoin de la structure mentionnée ci-dessous. Comme je l’ai mentionné, je préfère stocker tous les éléments liés au travail dans un seul emplacement « Travail’; aide à maintenir les sauvegardes. (D: Work SendEmail).
- Contribution – C’est ici que nous téléchargerons nos relevés.
- Production – Stockage de notre fichier de sortie
- Main.kjb – C’est ici que nous allons configurer et intégrer plusieurs transformations pour parcourir notre liste de diffusion.
- ReadFile et SendEmail – Dans le dossier de transformation, nous allons créer ces fichiers. Veuillez noter que ReadFiles est un fichier de transformation et SendEmail est un fichier de travail.
Nous devons lire deux feuilles de calcul dans une transformation. L’idée est de lire la liste de diffusion entière et de parcourir chaque membre et d’envoyer un e-mail avec un message personnalisé.
Ouvrez la transformation ReadFile.ktr sur votre cuillère (application de bureau). Nous devons lire le fichier d’entrée dans cette transformation.
Nous devons effectuer les étapes mentionnées ci-dessous.
- Ajoutez une description à la transformation en cliquant avec le bouton droit> «Nouvelle note». La documentation est très essentielle dans tout langage de programmation.
- Faites glisser deux plug-ins « Entrée de fichier texte », un « Joindre des lignes (produit cartésien) » et « Copier des lignes vers le résultat » depuis l’onglet de conception de la transformation vers le canevas.
- Renommez les mêmes ‘read_email_list’ (entrée de texte 1), ‘read_latest_post’ (entrée de texte 1), ‘merge’ et ‘copy_result’ respectivement.
- À l’étape read_email_list, recherchez le fichier (D: Work SendEmail Input EmailList.csv) dans le Fichier ou répertoire champ et Fichier dans l’onglet Contenu onglet, modifier Séparateur champ à virgule au lieu de semi-virgule, et dans l’onglet Champs, cliquez simplement sur Obtenir des champs bouton.
- De même, à l’étape read_latest_post, recherchez le fichier (D: Work SendEmail Input LatestPost.csv) dans le Fichier ou répertoire champ et Fichier dans l’onglet Contenu onglet, modifier Séparateur champ à virgule au lieu de semi-virgule, et dans l’onglet Champs, cliquez simplement sur Obtenir des champs bouton.
- Voilà, l’étape de jointure des lignes effectuera sa magie sans changer même un seul paramètre. Ici, je voulais montrer la capacité de fusionner deux fichiers de manière transparente en utilisant l’étape de jointure des lignes. Nous pouvons également fournir des conditions en cas de besoin.
Nous pouvons tester cette unité en exécutant la transformation et en prévisualisant la sortie.
Nous devons transmettre des variables à notre travail enfant pour envoyer des e-mails un par un. Cela nous obligera à configurer le fichier de travail principal parent avant de configurer le fichier de travail enfant SendEmail.
La transmission de variables est un processus simple dans PDI. Si nous terminons notre transformation par «Copier les lignes pour obtenir le résultat», alors toutes nos variables sont accessibles dans nos prochaines transformations. Cependant, nous passerons des variables différemment au niveau de l’emploi.
Nous devons effectuer les étapes ci-dessous pour transmettre des variables.
- Dans le fichier Main.kjb, nous devons faire glisser «Démarrer», «Transformation», «Travail» et une étape «Réussite».
- Renommez les étapes conformément à notre convention de dénomination en «start», «read_files», «send_email» et «success».
- Nous devons rechercher nos fichiers de transformation dans les étapes read_files et send_email respectivement.
- À l’étape du travail send_email, nous devons vérifier Exécuter chaque ligne d’entrée champ dans le Les options languette.
- dans le Paramètres onglet, nous devons ajouter quatre paramètres à savoir. FirstName, EmailAddress Title et BlogPost. Maintenant, tous ces noms doivent correspondre à nos champs de fichier d’entrée.
Maintenant, nous devons saisir les valeurs dans le travail enfant / sous. Voici l’étape.
Ouvrez le fichier SendEmail.kjb, double-cliquez sur le canevas. Spoon ouvrira la fenêtre des propriétés du travail. Nous devons ajouter les mêmes champs dans le Paramètres onglet ici aussi.
Nous pouvons désormais configurer et envoyer des e-mails personnalisés à notre liste de diffusion. Nous exigeons Authentification ouverte (OAuth) pour l’envoi par e-mail. Pour configurer OAuth sur votre compte Gmail, veuillez vous référer à l’histoire ci-dessous – Étape 2; Je ne revois pas tout le processus dans ce post.
Configurons rapidement notre tâche SendEmail.
- Ajoutez une description du fichier de travail. Ici, nous utiliserons ce fichier de travail pour envoyer des e-mails.
- Faites glisser «Démarrer», «Courrier» et «Réussite» de la liste des plugins dans l’onglet de conception.
- Renommez-le selon notre convention de dénomination, start, email et success respectivement.
- À l’étape de l’e-mail, nous devons configurer les propriétés mentionnées ci-dessous.
- dans le Adresse de destination , nous devons utiliser la variable $ {EmailAddress} qui est passée de notre transformation précédente et de notre travail parent.
- dans le Nom et adresse de l’expéditeur champ, nous devons fournir le nom et l’adresse e-mail de l’expéditeur; c’est-à-dire nos informations.
- dans le Serveur onglet, nous devons fournir les informations OAuth pour l’authentification. Ceci est un serveur sortant et nous avons besoin Détails SMTP au lieu d’IMAP.
- dans le Message électronique onglet, nous devons cocher ‘Utiliser le format HTML dans le corps du mail’, dans la section message, notre champ Objet sera $ {Title} et écrire votre message personnalisé pour le corps de l’email. J’ai utilisé ci-dessous.
Hi ${FirstName},I have published a new blog on Medium. Here's link. ${BlogPost}I hope you like it. Please feel free to provide your suggestions. Thanks,
Shravankumar Suvarna
Voyez comment nous avons utilisé les variables dans plusieurs champs. PDI ne prend pas en charge l’utilisation de variables dans tous les champs. La clé est de chercher un petit signe dollar bleu à côté des champs. S’il est présent, il accepte ou non.
Voilà, nous devrions être prêts à utiliser notre pipeline automatisé. Nous pouvons maintenant exécuter notre fichier de travail principal et le tester à l’aide de nos cas de test.
Conclusion
Eh bien, c’était le pipeline de données le plus simple. Ici, l’idée n’est pas d’utiliser cette méthode pour envoyer des blogs à la liste de diffusion, mais d’utiliser cette étude de cas selon nos convenances. Nous pouvons créer des pipelines similaires pour l’envoi à travers les fichiers journaux, le rapport d’état, etc. Puisque la plupart de nos pipelines fonctionneront sur des machines serveur. Ce serait une fonctionnalité intéressante d’intégrer le rapport d’état en temps réel des travaux / pipelines de transformation.