当前位置: 首页 > article >正文

kettle从入门到精通 第九十一课 ETL之kettle http接口下载文件流

 1、场景需求

群里一位老朋友想通过http接口下载文件流,然后将文件流保存为文件存储到本地,如下图所示:

 2、做过应用程序研发,对http知识有所了解的,结合对方发的postman截图,一眼就知道了接口的真实面目。接口返回的content-type是application/octet-stream且有文件下载说明接口通过Reponse将文件流输出,接口本身是没有返回值的。不要问我为啥知道,这就是经验。如下图所示:

 3、开始折腾

1)首先通过python搞个文件流接口进行模拟,如下图所示:

 2)使用http post 组件请求python 文件下载接口,能接收到文件流,但是文件无法正常复原,如服务器输出的是zip文件,但是文本文件输出步骤将文件流写进了txt文件,原有组件无法解决此问题。

 4、kettle自定义插件/组件

1)通过原有步骤无法解决,咱们就自定义组件来解析文件流。自定义组件开发过程略。

将自定义插件文件放到kettle的plugins文件下,重启kettle即可通过左侧转换分类找到此组件,如下图所示:

 2)通过生成记录步骤来模拟http请求相关参数,如下图所示:

 3)javascript步骤来沟通header参数,如下图所示:

 4)通过kk自定义转换插件设置请求参数,{ {xx}}表示从前面步骤获取字段值且自动替换,如下图所示:

 5)将demo发给朋友之后,将相关参数修改之后,完美实现。

 5、其他思路

1)通过js调用外部jar。

2)通过kettle调用pytohn脚本实现。

3)通过kettle的java步骤来实现。

4)通过shell脚本实现。


http://www.kler.cn/a/518081.html

相关文章:

  • Java设计模式:结构型模式→桥接模式
  • LabVIEW太阳能照明监控系统
  • PCI 总线学习笔记(三)
  • Vue3笔记——(五)路由
  • Kubernetes v1.28.0安装dashboard v2.6.1(k8s图形化操作界面)
  • kettle经验篇:分享两个小白常见问题
  • 免费获得Photoshop等设计软件的机会
  • CF 420A.Start Up(Java实现)
  • 14-6-2C++的list
  • 基于 AI Coding 「RTC + STT」 Web Demo
  • 多层 RNN原理以及实现
  • Underwater 系列coding记录
  • Golang Gin系列-8:单元测试与调试技术
  • Gin 应用并注册 pprof
  • Jenkins pipeline共享库的最佳实践
  • 全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)
  • LogicFlow 一款流程图编辑框架
  • SQL Server 建立每日自动log备份的维护计划
  • 基于 STM32 的智能农业温室控制系统设计
  • StarRocks常用命令