kettle执行信息发送钉钉
由于其他的作业比较多,想要在job中加入一个转化发送消息到钉钉,其他的配置说明直接获取系统的信息。这样也避免直接修改其他的转换和大量的工作量。
步骤:
1、新建一个转换
拉取获取系统信息、获取变量、JavaScript代码、获取access_token组件。
2、获取系统信息设置
拿到需要的信息,比如作业的读写更新删除行数,job的日志内容
这个日志内容同在作业执行页面下输出的日志,所以可以在执行作业时选择是详细日志、基本日志还是错误日志。
3、获取变量
获取变量主要是想要去拿到job的名称,文件名。按需求看是否需要。
4、JavaScript代码
将获取到的系统信息组合成钉钉消息发送内容,发送给钉钉机器人的模板用户的text类型。可以更具自己需求选择不同的模板类型,具体查看钉钉机器人模板类型的说明,这里使用的是text类型。
//获取系统信息组合成钉钉消息发送内容
//判断作业结果是否正确,正确时作业日志设置为空,错误时附带日至
if(job_result==true)
{
job_log = "";
}else{ job_log = job_log};
//消息内容
var msg = '{"msgtype": "text","text": {"content":"kellte数据抽取消息'+ "\n"
+"时间:" + systime + "\n"
+"IP:" + IP + "\n"
+"作业文件名称:" +JobFilenameName + "\n"
+"作业名称:" +JobName + "\n"
+"作业开始时间:" + job_starttime + "\n"
+"作业结束时间:" + job_endtime + "\n"
+"作业状态:" + job_status + "\n"
+"作业结果:" + job_result + "\n"
+"输入行:" + job_lines_input + "\n"
+"输出行:" + job_lines_output + "\n"
+"读取行:" +job_nr_read +"\n"
+"写入行:" + job_nr_written+"\n"
+"删除行:" + job_nr_deleted+"\n"
+"更新行:" + job_nr_updated+"\n"
+"错误:" + job_nr_errors+ "\n"
+"错误作业日志:" + job_log+ "\n"
+'"}}';
{
"msgtype": "text",
"text": {
"content": "我就是我, 是不一样的烟火@156xxxx8827"
},
"at": {
"atMobiles": [
"156xxxx8827",
"189xxxx8325"
],
"isAtAll": false
}
}
5、获取accss_token
设置机器人的URL,HTTP method设置为post,body选择定义的消息内容,application type 设置为json
设置job
拉一个转换组件,选择设置好的消息推送转换文件即可。如下图,发送消息。