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_typeSTART END DATA のいずれかの値をとります。

  • event_type: START はジョブ開始時に、 END は終了時に1度だけ発行されます。このイベントのメッセージにおける value はundefinedです。
    • ジョブフローの実行結果をもとにCraftFunctionを実行したい場合はjsonPayload.data.event_typeDATAの場合にのみ処理をするようにしてください。
  • event_type: DATA メッセージの内容は 行ごとにqueueをpublishする の設定値によって変わります。
    • 行ごとにqueueをpublishする: 有効 の場合、 DATA メッセージはジョブフローのクエリ結果の行数文だけ発行されます。 jsonPayload.data.valueVal1,Val2,Val3 のようにカンマ区切りの値が入ります。
    • 行ごとにqueueをpublishする: 無効 の場合、 DATA メッセージは1度だけ発行されます。 jsonPayload.data.value は header1,header2,header3\nval1,val2,val3\nval4,val5,val6 のようにCSVデータのヘッダーを含む全ての行が文字列として入ります。

Hook v2との違い

Hook v2でトリガーとして利用できる Datahub Jobflow との違いは、「ジョブフローの実行結果をCraft Functionsに渡せるかどうか」です。

  • Hook v2トリガーでは、ジョブフローの設定情報のみがFunctionに送られます。
  • Datahub Jobflow Connectorでは、個々のジョブフローの実行結果(クエリの実行結果)がFunctionに送られます。