REST Webサービスの呼び出しによってデータを作成および取得する
このシナリオでは、REST Webサービスを呼び出し、サーバーエンドに新しい顧客レコードを作成し、顧客情報を取得する、単純なジョブについて説明します。実行すると、ジョブは該当する情報を[Run] (実行)コンソールに表示します。
Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。
-
[Palette] (パレット)からデザインワークスペースに次のコンポーネントをドロップします。2つのtRESTコンポーネントと2つのtLogRowコンポーネント。次に、2つのtRESTコンポーネントに、実行するアクションがよくわかるラベルを付けます。
-
[Row] (行) > [Main] (メイン)接続を使用して、各tRESTを片方のtLogRowに接続します。
-
[Trigger] (トリガー) > [OnSubjobOK] (サブジョブがOKの場合)接続を使用して、最初のtRESTを2番目のtRESTに接続します。
-
最初のtRESTコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開きます。
-
[URL]フィールドに、起動するWebサービスのURLを入力します。このユースケースのURLはあくまでも例示用であり、実際のアドレスではありません。
-
[HTTP Method] (HTTPメソッド)リストでPOSTを選択し、新しいレコードを作成するためのHTTPリクエストを送信します。
-
[HTTP Headers] (HTTPヘッダー)テーブルで[+]ボタンをクリックして1行を追加し、該当する名前/値キーのペア(サービスプロバイダーの定義によって異なる)を入力し、サーバーエンドに送信するpayloadのメディアタイプを示します。このユースケースでは、Content-Typeとapplication/xmlを入力します。インターネットメディアタイプの参照情報は、www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7 (英語のみ)をご覧ください。
-
サーバーエンドにアップロードするpayloadを[HTTP Body] (HTTPボディ)フィールドに入力します。このユースケースでは、<Customer><name>Steven</name></Customer>と入力して、Stevenという名前の新しい顧客のレコードを作成します。
payloadに二重引用符を含める場合は、各引用符の前にバックスラッシュエスケープ文字を必ず使用してください。このユースケースでは、たとえば、Stevenという名前を二重引用符のペアで囲む場合は、<Customer><name>\"Steven\"</name></Customer>と入力します。
-
2番目のtRESTコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開きます。
-
URLフィールドに同じURLを入力します。
-
[HTTP Method] (HTTPメソッド)リストでGETを選択し、既存のレコードを取得するためのHTTPリクエストを送信します。
-
各tLogRowの[Basic settings] (基本設定)ビューで、出力フローが識別しやすいように、[Print component unique name in front of each output row] (コンポーネントユニーク名を出力の各行の前に表示)と[Print schema column name in front of each value] (カラム名を値の前に表示)チェックボックスをオンにします。
-
ジョブを保存し、F6を押して起動させます。
コンソールには、最初のtRESTコンポーネントがHTTPリクエストをサーバーエンドに送信してStevenという名前の新しい顧客を作成し、2番目のtRESTコンポーネントがサーバーエンドからのデータを正しく読み取ったことが示されます。そこには、作成されたばかりの新しい顧客の情報が含まれています。