Kettle作为了一个开源的工具,尤其现在大数据应用环境下,企业内部的数据清理应用就更多。
另外一方面,钉钉作为企业内部沟通平台,相比2年前,发展的更快,应用场景在扩大。企业也愿意在钉钉上花费多的时间和精力打包,企业内部的移动办公平台。
ETL与邮件服务器交互
早期,ETL应用会跟邮件服务器做更多交互,处理结束或者异常都会邮件告知,或者输出指定的excel报告发送给指定用户。
打通ETL与钉钉应用数据交互
现在,我们需要通过钉钉的消息推送等便捷渠道,把消息更加快捷推送给指定的用户。目前公司邮件用的更多是业务部门,而其他非业务类部门,邮件应用频率是相对比较低,在消息获取的时效性来说与钉钉消息推送,还是差距蛮大的。
ETL应用钉钉消息推送原理
其主要的工具是向钉钉推送消息,主要使用的组件是REST Client
操作步骤如下:
1、打开kettle,新建新的转换,并把【生成记录】组件拉入
双击打开【生成记录】配置框,配置些我们需要的基本信息。例如钉钉项目中需要的appkey,appsecret
如何提取appkey,appsecret,需要登录钉钉开发平台,进行提取,看截图
2、封装url请求,获取重要的access_token
找到javascript组件,拖入,双击打开,输入关键语句
var url="https://oapi.dingtalk.com/gettoken?appkey="+appkey+"&appsecret="+appsecret+""
定义url,但需要把这个变量类型进行转化,转化成string
3、找到rest client组件,拖入后,双击进行配置
URL:用户可以自己设置
【Accept URL From Field?】勾选后,用户可以在[URL Field Name]从上一级流程节点选择对应的字段名。
【Http method】:发送请求的方式,钉钉文档说明里是指GET
【Result field name】:最后输出的json信息保存到到对应的字段名,这个后续提取access_token需要。
4、提取access_token数据测试
测试结果看图,最后输出下列信息
{"errcode":0,"access_token":"c5a6f60226b334d39ee9541a21ba8d4d