シナリオのReportersでTeamsに特定の内容を送る方法
シナリオのReporters機能でTeamsに以下の内容を送る方法を教えていただきたいです。
・シナリオが開始した時刻、完了した時刻、処理時間
・最終データ(LastData)のレコード件数
よろしくお願いいたします。
Comments
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 116 Dataiker
@Kazuki93
さん、ご質問ありがとうございます!以下、回答します。(※私の環境では実際に試せていないのですが、考え方を以下に記載します。想定通りに動くかどうか、実際にお試しいただけますと幸いです。)
・シナリオが開始した時刻、完了した時刻、処理時間
シナリオ機能の標準設定では、上記情報はReportersに設定されないため、対応方法として、Pythonコーディングによる対応が考えられます。
その場合、一度シナリオを実行した後でないと「シナリオが開始した時刻、完了した時刻、処理時間」の情報が取れないため、Reporter用の別シナリオを定義して、そのStepから対象シナリオの起動と情報取得を行う必要があります。
シナリオのStepにPythonコードを記述する
https://doc.dataiku.com/dss/latest/scenarios/steps.html#execute-python-code対象シナリオの起動と情報取得は、以下のようなAPIを利用することで対応可能と考えられます。
DSSScenario#run_and_wait()
https://developer.dataiku.com/latest/api-reference/python/scenarios.html#dataikuapi.dss.scenario.DSSScenario.run_and_waitDSSScenarioRun#wait_for_completion()
https://developer.dataiku.com/latest/api-reference/python/scenarios.html#dataikuapi.dss.scenario.DSSScenarioRun.wait_for_completionDSSScenarioRun#get_start_time() など
https://developer.dataiku.com/latest/api-reference/python/scenarios.html#dataikuapi.dss.scenario.DSSScenarioRun.get_start_time取得した情報は、以下の要領でプロジェクト変数に格納します。
リファレンス:コードを利用した変数へのアクセス
https://knowledge.dataiku.com/latest/mlops-o16n/variables/reference-variables-in-code.html#using-variables-in-a-code-recipeプロジェクト変数に格納した情報を、Reporterの「Custom Variables」として登録することで、Teamsに送ることが可能と考えられます。
シナリオ実行のレポーティング
https://doc.dataiku.com/dss/latest/scenarios/reporters.html#common-variables・最終データ(LastData)のレコード件数
「最終データ(LastData)のレコード件数」についても、Pythonコードで情報を取得した後、上記と同様の方法でTeamsに送ることは可能と考えられます。
-