ジョブを作成し、APIからデータを抽出して、globalMap変数に保管します。
手順
-
Integrationパースペクティブで[Job Designs] (ジョブデザイン)ノードを右クリックし、[Create Standard Job] (標準ジョブを作成) をクリックします。
-
ジョブの名前、目的、説明を入力して[Finish] (終了)をクリックします。
-
次のコンポーネントをデザインワークスペースに追加し、接続にリンクさせます。
- tHttpRequest
- tHMap
- tLogRow
ジョブは次のようになります。
-
tHttpRequestコンポーネントをダブルクリックして、以下のように設定します:
パラメーター |
値 |
URI |
"https://www.swapi.tech/api/people?page=1&limit=10" |
Method |
GET |
-
tLogRowコンポーネントをダブルクリックして、[Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックします。
-
以下のカラムを入力に追加して、それらを出力にコピーしてから、[OK]をクリックします。
カラム |
タイプ |
pages |
整数 |
results |
整数 |
-
tHMapコンポーネントをダブルクリックして、マップを生成します。
-
1番目のステップでは、[Select an existing hierarchical mapper structure] (既存の階層マッパーストラクチャーを選択)を選択して、[Next] (次へ)をクリックしてから、APIから作成したストラクチャーを選択します。
-
2番目のステップでは、デフォルトオプションのままにしておき、[Next] (次へ)をクリックしてから、[FInish] (終了)をクリックします。
マップが作成され、定義できるようになります。
-
出力rowエレメントをクリックして、その[Loop] (ループ)タブにFixedLoopファンクションをドラッグします。
-
入力total_recordsエレメントを出力resultsエレメントに、入力total_pagesエレメントを出力pagesエレメントにドラッグします。
-
出力rootエレメントをクリックして、[Util]タブを開いてから、その中にPutValueToExternalMapファンクションをドラッグ&ドロップします。
-
Key引数にConstantファンクションをドラッグ&ドロップして、それをダブルクリックして、変数の名前(たとえば、total.pages)を定義します。
-
Value引数にXPathFunctionファンクションをドラッグ&ドロップし、ダブルクリックして、[Functions/Arguments] (ファンクション/引数)フィールドにxs:integer(%v)と入力します。
この例では、作成される変数は整数である必要がありますが、PutValueToExternalMapはデフォルトでStringを生成します。変数を整数として使うには、XPathFunctionファンクションを追加してBigIntegerとして定義します。
-
XPathFunctionに入力のtotal_pagesエレメントをドラッグ&ドロップします。
-
マップを保存します。
タスクの結果
ジョブの最初の部分が設定されており、それを実行して結果をチェックできます。次のステップでは、変数を別のコンポーネントで使います。