Warm tip: This article is reproduced from serverfault.com, please click

其他-talend tsendmail如何使用正则表达式过滤文件?

(其他 - talend tsendmail how to filter files with regex?)

发布于 2020-12-08 08:39:06

我想向每个负责1种产品的特定人员发送电子邮件,因此我想将具有所有相关产品文件的同一目录中的所有产品发送给每个人员。我所能做的就是使用过滤器遍历存储库中的文件,但是我所做的只是扩展名为.csv或.txt的过滤器,但这意味着所有文件都将发送给每个人。在tsendmail组件中使用正则表达式过滤器有任何帮助吗?还是一种在tsendmail中传递这些过滤文件的方法,意味着如何像我们处理电子邮件列表一样将文件列表发送到tsendmail

Questioner
amine kacem
Viewed
0
RealHowTo 2020-12-14 21:18:25

这里不需要正则表达式,你可以使用一个简单的tMap来完成。

在此处输入图片说明

*_*.csv Filemask的tFileList

在此处输入图片说明

使用tIterateToFlow处理tFileList输出。创建一个包含3列的架构。产品列包含从文件名中提取的产品名称: ((String)globalMap.get("tFileList_1_CURRENT_FILE")).split("_")[0] )

在此处输入图片说明

用于将产品与要使用的电子邮件结合在一起的tMap。tFixedFlowInput用于将产品映射到电子邮件(文件会更好,因此你可以在不重建的情况下添加/删除产品/电子邮件)。

在此处输入图片说明

在此处输入图片说明

最后,tSendMail使用来自tMap的流发送带有已处理文件作为附件的邮件。 在此处输入图片说明