FME自动化之通过邮件从数据库中请求数据

 

从FMEserver2019开始多了一个新的功能叫做Automations(自动化),其实自动化就是在以前订阅和通知的基础上做了更简化和升级。它能够让我们在FMEserver里面再去组建一个流程,而且这个流程可以是自动化的执行的流程。本文将以一个示例来展示Automations的魅力。

假设在不考虑数据保密,网络环境等等一切的情况下,有这么一个需求。通过邮件发送一封邮件给FMEserver,然后FMEserver收到邮件读取附件的申请范围面,自动从SDE数据库中将和附件范围面相交数据下载成mdb,并且将下载结果以附件的形式返回给对方。整个实现步骤如下:

1构建数据下载模板

         要在自动化中实现根据范围面从数据库中下载数据,那么最关键的流程就是需要FME模板来实现读取范围面再从数据库中提取相交的数据到MDB,具体模板如下:

         模板的作用就是读取CAD数据的范围线,根据范围线用FeatureReader去读取与范围线相交的数据写出,注意设置FeatureReader中的相交过滤参数。

         模板设置好后上传发布至server:

2FMEserver中构建自动化流程

         登录进入FMEserver:

构建新的自动化流程:

2.1 创建接收邮件触发

         创建第一个触发的动作设置为邮件触发,具体设置如下:

其中接收服务器需要在邮箱设置中去开启相应的IMAP/SMTP服务, 接收服务器的地址和端口号都可以在邮箱中查询:

2.2触发后调用模板

当邮箱接收到相应的邮件后调用数据下载模板,具体设置如下:

         在设置申请范围CAD数据时,可以选择上一个触发动作的相关参数,如设置成Email Attachment,则会读取到邮件接收的附件数据。同时将下载好的数据指定输出到server的目录下。

2.3调用模板后回复下载结果

         当执行完下载模板后需要讲下载的成果数据以附件的形式回复给申请数据的邮箱,则添加两个发送邮件的动作,模板运行成果发送下载结果,模板运行失败发送失败提示,运行成功发送邮件如下:

运行失败发送邮件如下:

设置完成后选择保存并启动自动化:

3验证结果

启动自动化后,FMEserver开始对设置好的邮箱的接收邮件进行监控,若有相关的符合过滤条件,即收到主题为“DataDownlod”的邮件即开始读取附件下载数据。具体效果如下:

        

4总结

         FME每年都在进行更新,每次更新都会让用户的体验感越来越好,其实在2019之前的版本也能通过订阅通知去做类似的事情,只是个人觉得自动化更FME一点。可能很多人还没有接触过FME Server,对于一个单位来说,FME Server真的是很好用。对比FME Desktop,FME Server更加的自动化,更加的便于我们发挥我们的模板的作用,也方便我们去管理我们做的模板。

发布了350 篇原创文章 · 获赞 169 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/fmechina/article/details/102933623