kettle调用API--HTTP client,HTTP post和REST client组件的使用

1.开发流程简介:
在这里插入图片描述
第一步,选择Generate rows组件,可用来配置api的URL或者参数.
在这里插入图片描述
这里需要特别注意,虽然api组件里可以直接设置URL和参数,但是他们并不是输入流组件,所以这里一定要存在一个类似Generate rows的输入流组件.
第二步,根据需求选择合适的api组件,这里以HTTP client组件为例:
在这里插入图片描述
第三步,用json input组件解析json文件
在这里插入图片描述
选择上一步定义的结果字段名,并在Fields页签里配置解析json文件的内容,
如下:
在这里插入图片描述
最后一步,通过table output组件将解析完成的数据插入到目标表中.
2.组件介绍:
三者区别:
HTTP client组件对应的API的请求方式为’GET’.
HTTP post组件对应的API的请求方式为’POST’.
REST client组件则可以灵活的选择’GET’,'POST’或者其他请求方式.

HTTP client:
在这里插入图片描述
主要参数介绍:
URL一栏可以输入具体的URL,也可以勾选Accept URL from field,通过选择URL field name,从前面的组件中选择.
Encoding是解析api的编码,默认是UTF-8
Connection timeout是建立连接的超时时间,默认为10000毫秒
Socket timeout是指客户端和服务进行数据交互的时间,这里指的是单次抓取数据包的交互时间,而不是整个交互的持续时间.默认为10000毫秒
connection close wait time是客户端连接关闭等待时间,默认为-1.
Result field name用来存api抽下来的数据,指定一个名称,以便后续使用.
HTTP status code field name用来存api执行的结果的状态,指定一个名称,以便后续使用.
Response time field用来存api相应的时间,单位为毫秒.
Response header filed name用来存api返回的一些header参数.也是json格式.
HTTP authentication:如果需要用此种方式做http身份验证的话,则在这里配置http login 和http password
Proxy to user:配置Proxy的用户名和密码
在这里插入图片描述
这里分别对应api的parameter和header参数.
parameter和header列填写对应的参数名称,name和field列选择对应的参数值.

HTTP post:
在这里插入图片描述
主要参数介绍:
HTTP post组件中的参数和HTTP client组件基本一致,主要是多个request entity field:此字段用来选择post的请求实体字段.

REST client:
在这里插入图片描述
主要参数介绍:
REST client组件可以选择请求方式,当HTTP method为Post时,则可以选择Body filed(请求体参数).也可以通过勾选get method from field而指定请求方式的字段.
Application type为需要发送的请求体参数的数据类型,默认为TEXT PLAIN.
也可以选择JSON或者XML等数据类型.

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这个错误通常表示在使用Kettle中的REST Client组件时,无法找到有效的证书路径。这个问题通常是由于缺少或未正确配置SSL证书引起的。 为了解决这个问题,你可以尝试以下几种方法: 1. 确保你的Java环境已经正确配置了SSL证书。你可以检查Java安装目录下的`cacerts`文件,确保其中包含了正确的证书路径。如果没有,你可以尝试手动导入证书。 2. 如果你使用的是自签名证书或者私有CA颁发的证书,你需要将证书导入到Java的信任库中。可以使用`keytool`命令来完成这个操作。例如,使用以下命令将证书导入到信任库中: ``` keytool -import -trustcacerts -alias mycert -file /path/to/certificate.crt -keystore /path/to/cacerts ``` 注意替换`mycert`为别名,`/path/to/certificate.crt`为证书文件路径,`/path/to/cacerts`为Java信任库路径。 3. 如果你使用的是自定义信任库而不是Java默认的`cacerts`文件,你需要在Kettle的启动脚本中添加相应的参数来指定信任库的位置。例如,在启动脚本中添加以下参数: ``` -Djavax.net.ssl.trustStore=/path/to/custom_truststore.jks -Djavax.net.ssl.trustStorePassword=your_password ``` 注意替换`/path/to/custom_truststore.jks`为自定义信任库的路径,`your_password`为信任库的密码。 请根据你的实际情况尝试以上方法,希望能够解决你遇到的问题。如果问题仍然存在,请提供更多的错误信息和具体情况,以便我能够更好地帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值