ジョブを作成し、APIからデータを抽出して、globalMap変数に保管します。
手順
- Integrationパースペクティブで[Job Designs] (ジョブデザイン)ノードを右クリックし、[Create Standard Job] (標準ジョブを作成) をクリックします。
- ジョブの名前、目的、説明を入力して[Finish] (終了)をクリックします。
-
次のコンポーネントをデザインワークスペースに追加し、[Row] (行) > [Main] (メイン)接続にリンクさせます。
- 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
エレメントをドラッグ&ドロップします。 - マップを保存します。