共用方式為


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

您可以藉由設定執行啟動時、順利完成、失敗或其持續時間超過設定的臨界值,來監視作業的執行和屬於該作業一部分的工作。 通知可以傳送至一或多個電子郵件地址或系統目的地,例如 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 執行已超過設定的預期持續時間。