想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。若二维码失效,公众号后台加我微信入群,备注kettle。
问题场景:
一个朋友说他用kettle将生成好的多个文件(a.xls和b.xls,文件在data目录下)发送给客户,但是data目录下还有其他的文件,他如果指定data目录发送会把
data目录下面的所有文件都作为附件进行发送,显然不符合要求,所以他当时的临时解决方法是创建个临时目录,里面只放a.xls和b.xls两个文件。
分析:
这种方法虽然可以解决问题但不是最佳方案,如果从程序研发的角度来思考,kettle肯定有解决方法。
上demo:
1、使用步骤【生成记录】驱动测试,步骤【增加常量】设置邮件发送参数,步骤【发送邮件】进行发送,如下图所示:
2、 步骤【增加常量】设置邮件发送参数,相关参数换成自己的邮箱信息即可进行发送测试。
发送多个文件主要涉及folder和reg两个参数,folder用来指定文件夹,reg用来匹配需要发送的文件,使用正则表达式进行匹配。
虽然没有看kettle的源代码,但是实现逻辑也很清晰,就是根据文件夹获取所有文件列表,然后根据正则表达式匹配符合条件的目标文件。
3、步骤【发送邮件】今天重点讲解下附近这里,其他不做介绍,可以查看我之前的文章。
4、打开邮件客户端登录查看已经收到了附件,如下图所示: