[Talend]tRESTを利用してRESTfulなWebサービスへリクエストを送る

今回はTalendのコンポーネント「tREST」を紹介したいと思います。
2018.10.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。DI部の大高です。

今回はTalendのコンポーネント「tREST」を紹介したいと思います。

前提条件

Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.0.1」で検証しています。

tRESTについて

「tREST」を利用するとRESTFulなWebサービスへシンプルなリクエストを送ることができます。

「tREST」コンポーネントのTalend Helpページはこちらです。

tREST

なお、同様のコンポーネントとして「tRESTClient」コンポーネントがあるのですが、もうちょっと本格的なリクエストを送る場合にはそちらのコンポーネントを利用すると良いかと思います。

では、具体的に以下で解説していきます。

ジョブの説明

「tREST」でリクエストを送信し、「tLogRow」でレスポンスを標準出力に表示します。

「tREST」コンポーネントの設定

コンポーネントの設定

コンポーネントにはウェブサービスにリクエストする情報を設定していきます。

スキーマ定義

スキーマ定義は固定となっており、以下のとおりとなります。

レスポンスとして「Body」にレスポンスBodyが、エラー発生時には「ERROR_CODE」にHTTPエラーコードが返却されます。

URL

リクエスト先のエンドポイントを指定します。今回はGitHubのランダムメッセージを返却してくれるエンドポイント「https://api.github.com/zen」を指定してみました。

HTTPメソッド

HTTPメソッドを「GET」、「POST」、「PUT」、「削除」(DELETE)から選択することができます。

HTTPヘッダー

リクエスト時のヘッダ情報をここで設定することができます。必要に応じて下部の「+」をクリックして、「名前」にヘッダ名、「値」に実際の値を設定します。

HTTPボディ

HTTPメソッドを「POST」、「PUT」に設定すると表示されます。ここで、送信するHTTP Bodyを文字列で設定することができます。

「tLogRow」コンポーネントの設定

「tLogRow」コンポーネントでは「モード」を「縦に出力」として読みやすくしてみました。

実行結果

設定は以上です。実際にこのジョブを実行すると以下のように出力されます。

[statistics] connecting to socket on port 3334
[statistics] connected
.------------------------------.
|        #1. tLogRow_1         |
+------------+-----------------+
| key        | value           |
+------------+-----------------+
| Body       | Encourage flow. |
| ERROR_CODE | null            |
+------------+-----------------+

[statistics] disconnected

「https://api.github.com/zen」からのレスポンスが表示されました!

まとめ

以上、「tREST」コンポーネントの紹介でした。

簡易なRESTクライアントとしてリクエストを送るには「tREST」コンポーネントが利用できるかと思います。なお、冒頭にも記載しましたが本格的なリクエスト送信をする場合には「tRESTClient」コンポーネントの利用も検討が必要かと思います。

それでは。