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等数据类型.

Kettle调用含有token的接口,可以按照以下基础流程进行操作。首先,根据接口所需的参数或配置信息生成信息。这可以通过使用表输入或生成记录等组件来完成。接下来,使用适当的访问组件(如HTTP POSTHTTP CLIENTREST CLIENT)来访问接口。根据接口返回的JSON数据,可以使用JSON input组件将其解析为字段形式,以便后续插入数据库。最后,使用表输出或插入更新组件将处理好的数据插入数据库中。\[1\]\[2\] 如果调用接口需要传递参数,并且参数类型为x-www-form-urlencoded,需要在application type中选择FORM URLENCODED。在body中传递参数时,可以使用"key1=value1&key2=value2&...&keyn=valuen"的格式,注意不要在每个keyvalue上加引号。同时,需要注意的是,将x-www-form-urlencoded传递给Content-Type只在headers中是无效的。\[3\] 总结起来,使用Kettle调用含有token的接口,需要生成参数或配置信息,访问接口,解析返回的JSON数据,然后将数据插入数据库中。同时,对于x-www-form-urlencoded类型的参数传递,需要注意选择正确的application type,并按照指定的格式传递参数。 #### 引用[.reference_title] - *1* *2* *3* [kettle调用接口数据](https://blog.youkuaiyun.com/aidadaren/article/details/128792003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值