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

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

システム通知を構成する

Note

  • ジョブまたはタスクごとに、通知イベントの種類ごとに最大 3 つのシステム宛先を構成できます。
  • 管理者はシステムの宛先を構成する必要があります。 システムの宛先は、システム通知の編集ダイアログまたは管理者設定ページ新しい宛先の作成を選択して構成します。
  • 失敗したタスクが再試行されても、ジョブ レベルで設定した通知は送信されません。 失敗したすべてのタスク (失敗したすべての再試行を含む) の後にエラー通知を受信するには、代わりに タスクの通知を使用します。 タスク実行に関するシステム通知を追加するには、ジョブ タスクを追加または編集するときに、タスク パネルの [通知] の横にある [+ 追加] をクリックします。
  • Succeeded with failures 状態で完了したジョブは、正常な状態にあると見なされます。 この状態で完了したジョブのアラートを受信するには、通知を構成するときに [成功] を選択する必要があります。

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

このジョブの実行で通知可能なイベント (ジョブの開始、完了、失敗など) が発生したときの 1 つ以上のシステム通知を追加するには:

  1. ジョブの [ジョブの詳細] パネルで、[通知の編集] をクリックします。
  2. [通知の追加] をクリックし、[宛先] でシステムの宛先を選択します。
  3. [システムの宛先の選択] で宛先を選び、その宛先に送信する各通知の種類のチェック ボックスをオンにします。
  4. 別の宛先を追加するには、[通知の追加] をもう一度クリックします。
  5. [Confirm]\(確認\) をクリックします。

重要

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

メール通知を構成する

Note

  • 失敗したタスクが再試行されても、ジョブ レベルで設定した通知は送信されません。 失敗したすべてのタスク (失敗したすべての再試行を含む) の後にエラー通知を受信するには、代わりに タスクの通知を使用します。 タスク実行に関するメール通知を追加するには、ジョブ タスクを追加または編集するときに、タスク パネルの [通知] の横にある [+ 追加] をクリックします。
  • Succeeded with failures 状態で完了したジョブは、正常な状態にあると見なされます。 この状態で完了したジョブのアラートを受信するには、通知を構成するときに [成功] を選択する必要があります。

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

  1. ジョブの [ジョブの詳細] パネルで、[通知の編集] をクリックします。
  2. [通知の追加] をクリックし、[宛先][メール アドレス] を選択します。
  3. メール アドレスを入力し、そのアドレスに送信する各通知の種類のチェック ボックスをオンにします。
  4. 通知用に別のメール アドレスを入力するには、[通知の追加] をもう一度クリックします。
  5. [Confirm]\(確認\) をクリックします。

メール通知を使用して、Amazon SES や SNS などのツールと統合できます。

実行時間の遅いジョブまたは遅延ジョブの通知を構成する

ジョブの予想される期間を構成した場合、そのジョブが構成した期間を超えた場合のメール通知またはシステム通知を追加できます。 期間のしきい値を超えたジョブの通知を受信するには、通知を追加または編集するときに [期間の警告] のチェック ボックスをオンにします。

スキップまたは取り消された実行の通知を除外する

実行がスキップまたはキャンセルされたときに通知をフィルターで除外することで、送信される通知の数を減らすことができます。 通知を除外するには、メール通知またはシステム通知を追加または変更するときに、[スキップされた実行の通知をミュートする] または [取り消された実行の通知をミュートする] をオンにします。

Note

ジョブに対して [スキップされた実行の通知をミュートする] または [取り消された実行の通知をミュートする] をオンにしても、ジョブ タスクに対して構成した通知は除外されません。 スキップまたは取り消された実行に対するすべての通知を除外するには、構成したタスク レベルの通知もすべて除外する必要があります。

HTTP Webhook ペイロード

HTTP Webhook を使って通知を送信している場合、Azure 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 実行が、構成された予想期間を超えて実行された。