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輸入的可以查看之前的文章。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章