Datahub Jobflow Connector
Datahub Jobflow Connector では、Datahub Jobflowの実行結果をdataとしてFunctionに送信します。
設定手順
以下の手順でDatahub Jobflow Connectorを設定します。
プロジェクトで1回行う設定
[Datahub] > [ジョブフロー] > [作成] で表示されるジョブフロー作成画面にて、[ジョブの追加] > [データテーブルへインポート/クエリ実行結果のエクスポート] > [接続先の作成・管理] を選択します。表示された画面でCraftの接続先を作成してください。 接続先名
の設定は任意です。
ジョブフロー作成時の設定
- function名:実行したいFunction名
- 行ごとにqueueをpublishする :ジョブフローの実行結果をFunctionに送る際、1行ずつ送信する場合はチェックを入れます。実行結果をまとめて送信する場合はチェックを外します。
Craft Functionsに送信されるデータ
data
のフォーマットは Function実行時に送信されるデータ をご確認ください。
kind
は"karte/action"
が入ります。jsonPayload
のフォーマットは以下の通りです。
jsonPayload: {
data: {
task_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
event_type: 'START' | 'END' | 'DATA',
value?: 下記参照
}
name: "jobflow-name"
}
Key | 説明 |
---|---|
jsonPayload.name | 実行されたジョブフローの名前が入ります。 |
jsonPayload.data.task_id | ジョブフローのジョブを一意に表すIDです。ジョブフロー側で定期実行などを設定していた場合、各実行で変わります。 |
jsonPayload.data.event_type | メッセージの種類を表します。 START END DATA のいずれかの値が入ります。詳細は後述します。 |
jsonPayload.data.value | ジョブフローの実行結果が入ります。 |
event_type について
jsonPayload.data.event_type
は START
END
DATA
のいずれかの値をとります。
- event_type:
START
はジョブ開始時に、END
は終了時に1度だけ発行されます。このイベントのメッセージにおけるvalue
はundefinedです。- ジョブフローの実行結果をもとにCraftFunctionを実行したい場合は
jsonPayload.data.event_type
がDATA
の場合にのみ処理をするようにしてください。
- ジョブフローの実行結果をもとにCraftFunctionを実行したい場合は
- event_type:
DATA
メッセージの内容は 行ごとにqueueをpublishする の設定値によって変わります。- 行ごとにqueueをpublishする: 有効 の場合、
DATA
メッセージはジョブフローのクエリ結果の行数文だけ発行されます。jsonPayload.data.value
はVal1,Val2,Val3
のようにカンマ区切りの値が入ります。 - 行ごとにqueueをpublishする: 無効 の場合、
DATA
メッセージは1度だけ発行されます。 jsonPayload.data.value は header1,header2,header3\nval1,val2,val3\nval4,val5,val6 のようにCSVデータのヘッダーを含む全ての行が文字列として入ります。
- 行ごとにqueueをpublishする: 有効 の場合、
Hook v2との違い
Hook v2でトリガーとして利用できる Datahub Jobflow との違いは、「ジョブフローの実行結果をCraft Functionsに渡せるかどうか」です。
- Hook v2トリガーでは、ジョブフローの設定情報のみがFunctionに送られます。
- Datahub Jobflow Connectorでは、個々のジョブフローの実行結果(クエリの実行結果)がFunctionに送られます。
Updated 2 days ago