コネクタの中には、一覧取得だけでは詳細な情報を取得できず、個別のIDを指定して詳細データを取得しなければならないケースがあります。例えば以下のようなケースです。
- 転送元バクラクコネクタの申請一覧で取得した申請IDを利用して、申請詳細のデータを取得したい
- 転送元スマレジコネクタの取引一覧で取得した取引IDを利用して、取引明細や取引のデータを取得したい
- 転送元HTTP・HTTPSや転送元カスタムコネクタで一覧取得して、詳細情報を取得したい
例 TROCCO APIで転送設定の一覧から特定の転送設定の詳細情報を取得する
このような「一覧データから取得したIDを使って、詳細データを個別に取得する」処理は、ワークフローの「カスタム変数でループ実行(クエリ結果でループ)」を利用することで、一連の処理として自動化することが可能です。
本記事では、転送元バクラクコネクタを例に、具体的な設定手順を3つのステップで解説します。
以下の流れで設定を作成します。
STEP1:一覧の取得
バクラクから申請一覧を取得し、Google BigQueryなどのデータウェアハウス(DWH)に転送する
STEP2:詳細情報の取得
バクラクの申請詳細を取得する転送設定を作成し、申請IDの指定欄に「カスタム変数」を埋め込む
STEP3:ワークフローのループ実行
DWH上の申請一覧テーブルからIDを抽出して、その結果を元にSTEP2の転送ジョブをループ実行する
設定例
STEP1:申請一覧データを取得し、DWHへ転送する
まずは、申請詳細を取得するためのフックとなる「申請ID」を取得します。転送元にバクラク(申請一覧)、転送先にBigQueryなどのDWHを指定した転送設定を作成し、ジョブを実行してDWH上に申請一覧のデータの入っているテーブルを作成します。
ポイント
- 全申請を毎回取得すると、バクラクAPIの利用制限に引っ掛かる可能性があるので、承認日時で絞り込みを実施するのがおすすめです。その場合は、カスタム変数を利用して動的に承認日時を設定できます。
-
転送先の設定にて「転送モード」を選択する
- REPLACE:昨日承認された申請のみに限定して申請詳細を取得できる。ただし、申請一覧のデータを積み上げておくことはできない
- APPEND:申請一覧のデータを積み上げて転送できる
- UPSERT:申請一覧のデータを積み上げて転送でき、マージキーでデータの重複を防ぐ
各転送モードにメリット・デメリットがあります。お好みのモードを選択してください。
STEP2:申請詳細を取得する転送設定を作成する
次に、申請詳細のデータを取得するための転送設定を作成します。
- 転送元にバクラク(申請詳細)を指定する
- 取得対象を特定するために「申請ID」を入力する項目に、カスタム変数を埋め込む
※ カスタム変数の値には、実際に存在する申請IDを入力してください。 - (任意)転送設定STEP2の「ジョブ設定」のジョブ起動設定にて「並列でのジョブ実行を許可」を選択する
※ この設定をすることで異なる申請IDを設定した転送ジョブを並列で実行できるため、ワークフローの実行時間が短縮できます。
STEP3:ワークフローで「クエリ結果でループ」を設定する
最後に、STEP1でDWHに蓄積したIDのリストを使って、STEP2の転送設定を繰り返し実行するワークフローを作成します。
- ワークフロー定義を作成するときに、タスク同時実行上限数を10などに設定して、ワークフロー内のタスクを並列で実行できる最大値を設定する
- STEP1とSTEP2で作成した「申請一覧取得用の転送設定」と「申請詳細取得用の転送設定」をタスク追加する
- 追加したタスクを直列で繋ぐ
- 「申請詳細取得用の転送設定」の編集画面を開き、「カスタム変数でループ実行」をチェックする
- 「ループの種類」で「クエリ結果でループ」を選択し、STEP1で申請一覧のデータを転送したDWH(BigQueryなど)を選ぶ
- クエリ入力欄に、一覧テーブルから申請IDを抽出するためのSELECT文を記述する
※ WHERE句で絞りこみを行うことでバクラクAPIのリクエスト数やTROCCOの処理時間を短縮可能ですが、再実行時などの日付の展開値にはお気をつけください。
(例)SELECT id FROM table_name WHERE DATE(approvedAt) >= CURRENT_DATE('Asia/Tokyo') -1 ; - 並列実行をONにする
以上の設定を行ったワークフローを実行することで、直近承認された申請一覧を取得し、クエリで取得した申請IDの件数分だけ申請詳細取得ジョブが自動的にループ実行され、必要な申請詳細データを一括で取得するというフローを実行することができます。
コメント
0件のコメント
記事コメントは受け付けていません。