kettle从入门到精通 第五十八课 ETL之kettle HTTP post使用教程

1、今天群里有位朋友问我有没有关于调用http接口的kettle 示例,我下意识的去翻我的公众号推文,愣是没找到。果断开始撸。

 2、本次演示流程通过调用接口【网易云音乐随机歌曲】,然后解析返回的数据,接口信息如下图所示:

3、本次演示流程通过调用接口【网易云音乐随机歌曲】,然后解析返回的数据,流程设计信息如下图所示:

1)步骤【生产记录】驱动测试流程。

2)步骤【HTTP post】发起请求。

3)步骤【解析result】解析第一层json数据。

4)步骤【result日志】记录解析result字段信息,方便调试。

5)步骤【解析data】解析第二层json数据。

4)步骤【data日志】记录解析data字段信息,方便调试。

4、步骤【HTTP post】步骤配置-General,如下图所示:

1)URL:调用地址,可以直接写死或者通过变量获取。

2)Accept URL from field?:如果选中,则必须指定从哪个字段检索URL。

3) URL field name:如果前面的选项被选中,这里就是您指定URL字段的地方。

4)Encoding:文件访问的编码标准。

5)Request entity field:字段的名称将包含POST请求。启用时,“Post a file”选项将检索该字段中命名的文件,并将该文件的内容发布。

6)Post a file:如果在“请求实体字段”中定义了文件,则如果选中此选项,其内容将被发布。目前,“请求实体字段”必须填写才能使“发布文件”正常工作。选择“发布文件”并在“主体参数”下指定字段,但没有为“请求实体字段”(文件名的位置)选择值,将会静默失败。

7)Connection timeout:设置创建连接超时时间(默认为10000毫秒)。

8)Socket timeout:设置读取socket数据超时时间(默认为10000毫秒)。

9)Connection close wait time:定义连接关闭后的等待时间(单位为毫秒),默认值为-1,表示使用操作系统的默认等待时间(通常为2分钟)。

背景信息:每行打开一个连接,并将其保持在所谓的TIME-WAIT状态一段特定的时间。大量(可能是成千上万个)处于TIME-WAIT状态的连接会引入显着的内存开销。此选项可以通过减少关闭连接保持在TIME-WAIT状态的时间来减少这种内存开销。

10)Result field name:返回结果字段名称,可自定义,这里设置为result。

11)HTTP status code field name:响应http状态码字段名称,可自定义。

12)Response time (milliseconds) field name:响应时间字段名称,可自定义。

13)HTTP login:如果此表单需要身份验证,则此字段应包含用户名。

14)HTTP password:如果此表单需要身份验证,则此字段应包含与用户名对应的密码。

15)Proxy host:代理服务器的主机名或 IP 地址,如果你使用代理的话。

16)Proxy port:代理服务器的主机端口,如果你使用代理的话。

5、步骤【HTTP post】步骤配置-Fields,Fields 标签定义了 HTTP 请求头和请求体的参数,如下图所示:

 1)Body (Header) Parameters

如果你在“常规”标签中填写了 URL 和其他必要的细节,你可以使用“获取值”按钮来预填充这里的字段。请求体参数用于 POST 和 PUT 操作。

2)Query Parameters

如果你在“常规”标签中填写了 URL 和其他必要的细节,你可以使用“获取值”按钮来预填充这里的字段。查询参数在 URL 中指定,可以在任何 HTTP 方法中使用。

6、如下是使用JSON输入分别解析reult、data字段的主要配置,这里不做过多讲述,不熟悉JSON输入的可以查看之前的文章。

 

 

 

 

posted @ 2024-05-10 21:47  慕容尘轩  阅读(78)  评论(0编辑  收藏  举报