一、概述
kettle 中文名称叫水壶,是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。当然它也可以用来调用Restful API 来采集数据,采集数据。
二、基本概念
根据公司业务要求(保证数据安全性)推荐使用API来清洗数据。
1、调试云星空接口
1)、云星空所有的接口请求方式都是:POST
2)、云星空接口访问登录地址:
http://云星空地址/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc
3)、云星空单据查询地址:
http://云星空地址/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc
4)、登录JSON:
{"acctid":"数据中心ID","username":"用户名称","password":"用户密码","lcid":2052}
5)、查询JSON
{"formid": "SAL_SaleOrder","data":{"formid": "SAL_SaleOrder","Number": "单据编号"}}
#上面为销售订单查询的json
6)、登录云星空后需要获取Cookies并传入查询json里。
三、实际操作
1、 kettleAPI请求流程使用(生成纪录、REST、jsoninput、字段选择、REST、josninput、文本输出)如下图:
2、操作生成记录节点 :
根据上述《调试云星空接口》把对应数据写进生成记录里面如图。
3、编辑REST 登录云星空节点 :
根据生成记录里的登录URL、登录账号、密码登录云星空并返回数据。
4、编辑JSON input返回云星空Cookies节点 :
根据上一个(REST 登录云星空)所返回的result来获取Cookies。
5、编辑字段选择节点 :
编辑字段选举节点(可以理解为那些字段要传到下一个节点)
6、编辑REST client 云星空查询单据节点:
根据字段选择节点返回的值写入REST client 云星空查询单对应字段
7、输出记录
大家随意即可。