Kettle REST Client获取token调用接口解析JSON入文件实战

Kettle REST Client通过GET获取token以POST方式请求接口解析JSON入文件完整实例

需求说明

通过kettle组件调用接口并解析JSON成结构化数据入文件。

完整实例

解决方法

  1. 利用生成记录组件定义URL参数
  2. 通过REST ClENT组件请求得到TOKEN
  3. 通过JSON INPUT组件解析接口请求的结果
  4. 通过JAVASCRIPT组件拼接生成业务接口的完整参数
  5. 通过REST ClENT组件请求得到JSON结果
  6. 通过JSON INPUT组件解析业务接口请求的结果
  7. Swich/Case组件判断接口调用状态
  8. 通过文本文件输出组件保存解析后结果。

Step0:新建kettle转换

Step1:定义原始参数

拖一个生成记录组件,定义tokenurl

Step2:调用接口获得token

拖一个REST CLIENT 组件用户获取token,勾选 从从字段里获取URL,设置请求方法为GET 并定义结果字段名为result

Step3:解析JSON里的Token

拖一个JSON Input 组件,勾选 原定义在一个字段里,字段选择result。

#定义解析JSON的方法

Step4:拼接新的调用参数

拖个JAVASCRIPT组件定义新的变量拼接完成的接口url。

Step5:定义接口参数

拖一个REST CLIENT组件:

1、勾选从字段里获取URL

2、选择URL字段变量zzzfinsurl

3、选择请求类型POST,

4、设置body字段生成记录组件 里定义的zzzbody

5、设置返回字段zzzresult

6、设置HTTP状态字段zzzcode

Step6:判断接口调用状态

拖一个Switch/case 组件,对Http状态进行判断,如果请求状态码是200则执行JSON Input组件。

Step7:解析接口调用结果

拖一个JSON INPUT 组件,勾选原定义在一个字段里 ,选择源字段zzzresult

#指定JSON解析方法

Step8:入文件或者入库

拖一个文本文件输出组件,指定文件路径名、字段映射关系。

延展阅读

如果JSON解析不熟悉,可以先拷贝一个接口调用的JSON文件,在JSON INPUT组件里指定JSON文件,点击选择字段来让kettle生成解析表达式。

#1 指定本地JSON文件,主要这里要取消勾选原定义在一个字段里

#2 点击选择字段

#3 勾选要解析的字段(支持多选)

#4 注意:因为这里为了方便生成JSON解析表达式,实际调用时需要再次勾选原定义在一个字段里

Step9: 调用验证

#1 调用转换

/root/software/data-integration/pan.sh -file=/root/workbase/RESTCLIENT.ktr

#2 查看结果

相关推荐
播播资源4 小时前
智能路由(AI Router):用“虚拟模型”撬动无限算力,从此告别手动切换
数据库
熊文豪5 小时前
【金仓数据库征文】不装中间件的 MySQL→金仓在线迁移,mysql_fdw 全流程,和一个差点漏掉的 emoji
数据库·mysql·中间件·电科金仓
一个儒雅随和的男子5 小时前
多租户方案的选型
数据库·oracle
listening7775 小时前
HarmonyOS 6.1 跨设备数据库实战:分布式账本的落地与一致性校验
数据库·harmonyos·分布式账本
147API6 小时前
Claude Tag 进入 Slack 后,团队智能体需要哪些任务与审计字段
java·开发语言·数据库
Database_Cool_6 小时前
AI Agent 应用数据库选型:阿里云 PolarDB-X 高并发分布式数据底座
数据库·人工智能·阿里云
黄焖鸡能干四碗6 小时前
IT数据架构规划设计方案(PPT文件)
大数据·网络·数据库·人工智能·架构·区块链
黑夜路人6 小时前
可靠 Agent 设计:从一句 Prompt 到稳定交付
数据库·人工智能·prompt
IT瑞先生6 小时前
MariaDB与Mysql差异及版本对照
数据库·mysql·mariadb
草莓熊Lotso6 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++