kettle与钉钉结合的企业内部应用扩展01

本文介绍如何将Kettle ETL工具与钉钉平台结合,实现数据处理状态的实时推送通知,提高企业内部消息传递效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

kettle与钉钉结合的企业内部应用扩展01

 晨枫0215 2019-09-23 16:46

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","errmsg":"ok","expires_in":7200} 

表明获取了正确的access_token,剩下就可以跟钉钉开始做消息推送步骤

5、从返回信息中提取正确的access_token

选择json input组件,拖入并且双击进行配置

 

【源定义在一个字段里】,上一节点里已经用[result],选择result

 

最后在字段一栏,设置一个字段名【access_token】用来记录提取后的信息

6、封装向钉钉发送消息的url

拖入一个javascript组件进去,双击进行配置

 

 
var url1="https://oapi.dingtalk.com/message/send?access_token="+access_token+"" 

配置发送语句。其中access_token变量来自上一步骤配置的字段名

另外也需要把url1强制变更为String类型

7.最后步骤,发送url请求

发送请求,我们需要重新加入一个新的rest client组件,拖入并且双击进行配置

 

按照钉钉文档中发送消息是post方式,【body field】对应的是msg信息,【Application type】对应的是json

到此为止,发送执行消息,最后钉钉接收到相关消息

关于钉钉消息发送几个坑说明

1.推送消息url,如果用其他测试网页没有问题,但kettle似乎不支持。

 
https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=ACCESS_TOKEN 

这个是官方文档给出的请求url,最后我测试2天都没测试成功,一直提示msg信息未提交

2.发送消息的时候 ,需要把你所在网络环境的ip加入授权范围,否则发送不了

http://mp.toutiao.com/preview_article/?pgc_id=6739784643165291011

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值