ジョブイベントのEメールとシステム通知を追加する

実行が開始されたとき、正常に完了したとき、失敗したとき、または実行時間が構成されたしきい値を超えたときの通知を構成することで、ジョブの実行とそのジョブの一部であるタスクを監視できます。 通知は、1 つ以上の電子メール アドレス、または Slack、 Microsoft Teams、PagerDuty、または任意の Webhook ベースのサービスなどのシステム宛先に送信できます。

システム通知を構成する

注:

  • 各ジョブまたはタスクでは、通知イベント タイプごとに最大 3 つのシステム宛先を設定できます。

  • 管理者は、システムの宛先を構成する必要があります。 システムの宛先を構成するには、[ システム通知の編集 ] ダイアログまたは 管理者設定ページで [ 新しい宛先の作成 ] を選択します。

  • 失敗したタスクが再試行された場合、ジョブ レベルで設定した通知は送信されません。 失敗したすべてのタスク (失敗したすべての再試行を含む) の後に失敗通知を受信するには、代わりにタスク通知を使用します。 タスク実行のシステム通知を追加するには、ジョブ タスクを追加または編集するときに、タスク パネルの[通知]の横にある[+ 追加]をクリックします。

  • Succeeded with failures状態で完了したジョブは、成功した状態であると見なされます。 この状態で完了したジョブのアラートを受信するには、通知を構成するときに「成功」を選択する必要があります。

システム通知は、次のような一般的な通知ツールと統合されています。

このジョブの実行に、ジョブの開始、完了、失敗などの通知可能なイベントがある場合に 1 つ以上のシステム通知を追加するには、次の手順を実行します。

  1. ジョブの[ジョブ詳細]パネルで、 [通知の編集] をクリックします。

  2. [ 通知の追加 ] をクリックし、[ 宛先] でシステムの宛先を選択します。

  3. システム送信先の選択」で送信先を選択し、その送信先に送信する各通知タイプのチェック・ボックスをクリックします。

  4. 別の宛先を追加するには、もう一度 [通知を追加 ] をクリックします。

  5. [確認]をクリックします。

重要

Slack および Microsoft Teams メッセージの内容は、将来のリリースで変更される可能性があります。 これらのメッセージの特定の内容や形式に依存するクライアントや処理は実装しないでください。 通知に特定のスキーマまたはフォーマットが必要な場合は、Databricks ではユーザー定義の Webhook を構成することをお勧めします。

Eメール通知を構成する

注:

  • 失敗したタスクが再試行された場合、ジョブ レベルで設定した通知は送信されません。 失敗したすべてのタスク (失敗したすべての再試行を含む) の後に失敗通知を受信するには、代わりにタスク通知を使用します。 タスク実行の電子メール通知を追加するには、ジョブ タスクを追加または編集するときに、タスク パネルの[通知]の横にある[+ 追加]をクリックします。

  • Succeeded with failures状態で完了したジョブは、成功した状態であると見なされます。 この状態で完了したジョブのアラートを受信するには、通知を構成するときに「成功」を選択する必要があります。

このジョブの実行が開始、完了、または失敗したときに通知する電子メール アドレスを 1 つ以上追加するには、次の手順を実行します。

  1. ジョブの[ジョブ詳細]パネルで、 [通知の編集] をクリックします。

  2. [通知の追加]をクリックし、 [宛先]電子メール アドレスを選択します。

  3. 電子メール アドレスを入力し、そのアドレスに送信する各通知タイプのチェックボックスをクリックします。

  4. 通知用の別の電子メール アドレスを入力するには、もう一度[通知の追加] をクリックします。

  5. [確認]をクリックします。

Eメール通知を利用してAmazon SESやSNSなどのツールと統合することができます。

実行速度の遅いジョブや遅延したジョブの通知を構成する

ジョブの予想期間を設定している場合、ジョブが設定期間を超えた場合に電子メールまたはシステム通知を追加できます。 期間しきい値を超えるジョブに関する通知を受け取るには、通知を追加または編集するときに、 [期間警告]チェックボックスをクリックします。

スキップまたはキャンセルされた実行の通知を除外する

実行がスキップまたはキャンセルされたときに通知をフィルタリングすることで、送信される通知の数を減らすことができます。 通知をフィルタリングするには、 電子メール通知 または システム通知 を追加または変更するときに 、「スキップされた通知を ミュートする 」または「キャンセルされた通知をミュートする」 をオンにします。

注:

ジョブに対して「スキップされた実行の通知をミュート」または「キャンセルされた実行の通知をミュート」を選択しても、ジョブ タスクに対して構成された通知はフィルターされません。 スキップまたはキャンセルされた実行のすべての通知をフィルタリングするには、構成したタスク レベルの通知もフィルタリングする必要があります。

HTTP Webhook ペイロード

HTTP Webhook を使用して通知を送信する場合、構成されたエンドポイントに Databricks から送信されるペイロードの例を次に示します。

ジョブ実行開始イベントの通知:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

タスク実行開始イベントの通知:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "task": {
    "task_key": "task_name"
  },
  "run": {
    "run_id": "run_id_of_task"
    "parent_run_id": "run_id_of_parent_job_run"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

宛先を設定する場合、Webhook は次のイベントタイプに対して設定できます。

イベントコード

いつ送信されますか?

jobs.on_start

実行が開始されます。

jobs.on_success

実行は停止し、成功または失敗を伴って成功した状態で完了します。

jobs.on_failure

実行は失敗した状態で停止します。

jobs.on_duration_warning_threshold_exceeded

実行は、設定された予想期間を超えて実行されています。