新增工作事件的電子郵件和系統通知

您可藉由設定執行在啟動、順利完成、失敗或其持續時間超過設定的閾值時的通知,來監視工作的執行和屬於該工作一部分的任務。 通知可傳送至一或多個電子郵件地址或系統目的地,例如 Slack、Microsoft Teams、PagerDuty 或任何 webhook 型服務。

設定系統通知

注意

  • 對於每個工作或任務,您可為每個通知事件類型設定最多三個系統目的地。
  • 管理員必須設定系統目的地。 透過在 [編輯系統通知] 對話框或管理員設定頁面中選擇 [建立新的目的地] 來設定系統目的地。
  • 重試失敗的任務時,不會傳送在工作層級設定的通知。 若要在每次失敗的工作 (包括每次失敗的重試) 後接收失敗通知,請改用工作通知。 若要為任務執行新增系統通知,請在新增或編輯工作任務時按下任務面板中 [通知] 旁邊的 [+ 新增]
  • Succeeded with failures 狀態下完成的工作會被視為處於成功狀態。 若要接收處於此狀態之工作的警示,您必須在設定通知時選取 [成功]

系統通知與熱門通知工具整合,包括:

若要在此工作的執行有可通知的事件時 (如工作開始、完成或失敗),新增一個或多個系統通知:

  1. 在工作的 [工作詳細資料] 面板中,按下 [編輯通知]
  2. 按下 [新增通知],然後在 [目的地] 中選取系統目的地。
  3. 在 [選取系統目的地] 中,選取目的地,然後按下要傳送至該目的地之每個通知類型的核取方塊。
  4. 若要新增另一個目的地,請再次按下 [新增通知]
  5. 按一下確認

重要

Slack 和 Microsoft Teams 訊息的內容在未來版本中可能會有所變更。 您不應實作依賴於這些訊息的特定內容或格式的用戶端或處理。 如果您需要通知的特定結構描述或格式設定,Azure Databricks 建議設定使用者定義的 Webhook。

設定電子郵件通知

注意

  • 重試失敗的任務時,不會傳送在工作層級設定的通知。 若要在每次失敗的工作 (包括每次失敗的重試) 後接收失敗通知,請改用工作通知。 若要為任務執行新增電子郵件通知,請在新增或編輯工作任務時按下任務面板中 [通知] 旁邊的 [+ 新增]
  • Succeeded with failures 狀態下完成的工作會被視為處於成功狀態。 若要接收處於此狀態之工作的警示,您必須在設定通知時選取 [成功]

若要新增一個或多個電子郵件位址以在工作執行開始、完成或失敗時發出通知:

  1. 在工作的 [工作詳細資料] 面板中,按下 [編輯通知]
  2. 按下 [新增通知],然後選取 [目的地] 中的 [電子郵件地址]
  3. 輸入電子郵件地址,然後按下每個通知類型的核取方塊,以傳送至該地址。
  4. 若要輸入另一個通知電子郵件地址,請再次按下 [新增通知]
  5. 按一下確認

您可使用電子郵件通知來與 Amazon SES 和 SNS 等工具整合。

為執行緩慢或延遲的工作設定通知

如果已為工作設定工作的期望工期,則可在工作超過設定的持續時間時新增電子郵件或系統通知。 若要收到工作超過持續時間閾值的通知,請在新增或編輯通知時按下持續時間警告核取方塊。

過濾掉略過或取消執行的通知

可以藉由過濾掉已略過或已取消執行時的通知來減少發送的通知數量。 若要過濾掉通知,請在新增或修改電子郵件通知系統通知時核取 [靜音略過執行的通知] 或 [靜音取消執行的通知]

注意

為工作選擇 [靜音略過執行的通知] 或 [靜音取消執行的通知] 不會過濾掉工作任務設定的通知。 若要過濾略過或取消執行的所有通知,還必須過濾掉已設定的任何任務層級通知。

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 執行已超過設定的期望工期。