TROCCOをご利用中のお客様から、以下のようなご要望をいただくことが多くあります。
- 転送したレコード数をカウントした結果を通知に含めたい
- 転送したデータをチェックして、チェックに失敗したレコードの情報を通知に含めたい
- 前日のTROCCOの処理時間を取得して、平均処理時間を越えたら前日の処理時間を含めて通知したい
上記は通知設定とデータチェック機能、条件分岐機能を利用することで実現可能です。
今回は具体例として、
「転送したレコード内に“優先度:高”のデータが存在した場合、Slackへ通知し、そのレコード情報を通知文に含める」
というケースを想定して説明します。
- 転送を実行する転送設定 or データマート定義を作成する
- データマート定義を作成する(通知を送信するだけの箱になる設定)
- 通知文に含めたい情報をカスタム変数で定義する
今回はIDとタイトルを通知文に含めたいので2つカスタム変数を追加 - クエリ設定には
SELECT 1;のような適当なクエリを記載するだけでOK - このデータマート定義に通知を追加する
- ジョブ終了時に通知されるように設定し、通知文に設定内で定義したカスタム変数を埋め込む
- ジョブ終了時に通知されるように設定し、通知文に設定内で定義したカスタム変数を埋め込む
- 通知文に含めたい情報をカスタム変数で定義する
- ワークフロー定義を作成する
- 1の転送設定 or データマート定義をタスク追加する
- データチェックタスクを追加する
チェックする条件に合致するデータが存在しているか確認する
今回はpriorityカラムがHighになっているレコード数をカウントするクエリを記載SELECT COUNT(*) FROM dataset.tasks_test WHERE priority = "High"- エラー条件はクエリの結果が「1以上」とする
※ クエリ結果を条件分岐に利用するにチェックを入れる
- 条件分岐タスクを追加する
- 対象には上記で作成したデータチェックタスクを選択する
- プロパティに「チェック結果」、演算子に「=」、値に「チェック失敗」を入力する
- 2で作成したデータマート定義をタスク追加する
- 条件分岐タスクの true にデータマート定義を繋げる
- カスタム変数でループ実行をチェックして、DWHのクエリ結果でループを選択する
- 定義したカスタム変数に対して、通知内に含めたいデータが展開されるようにクエリを記入する
今回はpriority="High"のレコードのidとtitleを通知文に含めるように設定
- 作成されたワークフロー例
実際にジョブを実行すると転送されたレコードに priority=high のレコードが一件あったので、slackに通知が送信されました。
コメント
0件のコメント
記事コメントは受け付けていません。