Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Sie können Benachrichtigungen einrichten, die bei Ausführung eines Auftrags und einzelner Auftragsaufgaben für die folgenden Ereignisse gesendet werden:
- Starten
- Erfolgreicher Abschluss
- Versagen
- Die Dauer überschreitet einen konfigurierten Schwellenwert.
Sie können Benachrichtigungen an eine oder mehrere E-Mail-Adressen oder Ziele von Drittanbietern wie Slack, Microsoft Teams, PagerDuty oder einen beliebigen webhook-basierten Dienst senden. In diesem Artikel werden die verschiedenen Möglichkeiten zum Einrichten von Benachrichtigungen auf Auftragsebene beschrieben.
Drittanbieter-Systemziele hinzufügen
Sie können Benachrichtigungen einrichten, die an Drittanbietersysteme übermittelt werden sollen. Drittanbieter-Systemziele sind in beliebte Benachrichtigungstools integriert, einschließlich Slack, PagerDuty, Microsoft Teams und HTTP-Webhooks. Systemziele müssen von einem Administrator konfiguriert werden.
Um Systemziele zu konfigurieren, wechseln Sie zur Seite "Administratoreinstellungen", klicken Sie auf "Systembenachrichtigungen bearbeiten ", und klicken Sie dann auf " Neues Ziel erstellen". Für jeden Auftrag oder jede Aufgabe können Sie maximal drei Systemziele pro Benachrichtigungsereignistyp konfigurieren. Siehe Seite "Administratoreinstellungen".
Wichtig
Der Inhalt von Slack- und Microsoft Teams-Nachrichten kann sich in zukünftigen Versionen ändern. Sie sollten keine Clients oder Verarbeitung implementieren, die von dem spezifischen Inhalten oder der Formatierung dieser Nachrichten abhängen. Wenn Sie ein bestimmtes Schema oder eine bestimmte Formatierung für Benachrichtigungen benötigen, empfiehlt Databricks, einen benutzerdefinierten Webhook zu konfigurieren.
Konfigurieren von Benachrichtigungen für einen Auftrag
Bevor Sie beginnen, berücksichtigen Sie Folgendes:
- Benachrichtigungen auf Auftragsebene werden nicht gesendet, wenn fehlgeschlagene Aufgaben erneut ausgeführt werden. Verwenden Sie stattdessen Aufgabenbenachrichtigungen, um nach jedem fehlgeschlagenen Vorgang eine Fehlerbenachrichtigung zu erhalten. Wenn Sie Benachrichtigungen für Aufgabenausführungen hinzufügen möchten, klicken Sie im Aufgabenbereich auf "Hinzufügen" neben " Benachrichtigungen ", wenn Sie eine Auftragsaufgabe hinzufügen oder bearbeiten.
- Für jeden Auftrag oder jede Aufgabe können Sie maximal drei Systemziele pro Benachrichtigungsereignistyp konfigurieren.
- Ein Auftrag, der in einem Zustand "Erfolgreich mit Fehlern" abgeschlossen wurde, wird als erfolgreich angesehen. Um benachrichtigt zu werden, wenn Aufträge in diesem Zustand abgeschlossen wurden, müssen Sie "Erfolg" auswählen, wenn Sie Benachrichtigungen konfigurieren.
- Um benachrichtigt zu werden, wenn Ihr Auftrag einen Grenzwert für die Dauer überschreitet, müssen Sie den Grenzwert festlegen. Siehe Konfigurieren von Benachrichtigungen für langsame Aufträge.
Gehen Sie wie folgt vor, um eine oder mehrere Benachrichtigungen hinzuzufügen, wenn ein Auftrag gestartet wird, abgeschlossen oder fehlschlägt:
- Scrollen Sie im Bereich "Auftragsdetails " für Ihren Auftrag nach unten zum Abschnitt " Auftragsbenachrichtigungen ", und klicken Sie dann auf " Benachrichtigungen bearbeiten".
- Klicken Sie in der unteren linken Ecke auf "Benachrichtigung hinzufügen".
- Wählen Sie im Zieldie E-Mail-Adresse oder ein Systemziel aus.
- Aktivieren Sie die Kontrollkästchen für jeden Ereignistyp, zu dem Sie benachrichtigt werden möchten: Start, Erfolg, Fehler, Dauerwarnung oder Streaming-Backlog.
- Wenn Sie ein anderes Ziel konfigurieren möchten, klicken Sie erneut auf "Benachrichtigung hinzufügen ", und führen Sie die vorherigen Schritte aus.
- Nachdem Sie alle Benachrichtigungen konfiguriert haben, klicken Sie auf "Speichern".
Konfigurieren von Benachrichtigungen für langsame Aufträge
Wenn Sie eine erwartete Dauer für einen Auftrag konfiguriert haben, können Sie eine E-Mail- oder Systembenachrichtigung hinzufügen, wenn der Auftrag oder die Aufgabe den konfigurierten Schwellenwert überschreitet. Wenn Sie eine Benachrichtigung für einen Auftrag oder eine Aufgabe erhalten möchten, der einen Schwellenwert für die Dauer überschreitet, wählen Sie " Dauerwarnung" aus, wenn Sie eine Benachrichtigung hinzufügen oder bearbeiten. Um eine Benachrichtigung für einen Auftrag oder eine Aufgabe zu erhalten, die eine Streaming-Backlog-Metrik überschreitet, wählen Sie "Streaming-Backlog" aus, wenn Sie eine Benachrichtigung hinzufügen oder bearbeiten.
Die folgenden Punkte gelten für Streaming-Backlogmetriken:
- Benachrichtigungen werden gesendet, wenn der durchschnittliche Backlog über einen Zeitraum von 10 Minuten den definierten Schwellenwert überschreitet.
- Um übermäßige Nachrichten zu verhindern, wartet Azure Databricks 30 Minuten, bevor ermittelt wird, ob eine andere Nachricht gesendet werden soll. Während der Backlog hoch bleibt, erhalten Sie Updates in 30-Minuten-Intervallen.
Herausfiltern von Benachrichtigungen für übersprungene oder abgebrochene Ausführungen
Sie können die Anzahl der gesendeten Benachrichtigungen reduzieren, indem Sie Benachrichtigungen herausfiltern, wenn eine Ausführung übersprungen oder abgebrochen wird. Zum Filtern von Benachrichtigungen wählen Sie " Benachrichtigungen stummschalten" für übersprungene Ausführungen oder "Benachrichtigungen stummschalten" für abgebrochene Benachrichtigungen aus, wenn Sie E-Mail-Benachrichtigungen oder Systembenachrichtigungen hinzufügen oder ändern.
Standardmäßig werden Aufgaben dreimal neu versucht, bevor sie endgültig fehlschlagen. Beim Konfigurieren von Aufgabenbenachrichtigungen können Sie die Option " Benachrichtigungen stummschalten" bis zum letzten Versuch auswählen, um alle Benachrichtigungen auszufiltern, bis der letzte Wiederholungsvorgang abgeschlossen ist.
Hinweis
Wenn Sie "Benachrichtigungen stummschalten" für übersprungene Ausführungen oder "Benachrichtigungen stummschalten" für abgebrochene Ausführungen bei einem Auftrag auswählen, werden dadurch keine Benachrichtigungen herausgefiltert, die für Auftragsaufgaben konfiguriert sind. Um alle Benachrichtigungen für übersprungene oder abgebrochene Ausführungen zu filtern, müssen Sie auch alle konfigurierten Benachrichtigungen auf Aufgabenebene herausfiltern.
Nutzdaten von HTTP-Webhooks
Sie können HTTP-Webhooks so konfigurieren, dass sie für die in der folgenden Tabelle aufgeführten Ereignisse gesendet werden.
| Event_type Code | Wann wird es gesendet? |
|---|---|
jobs.on_start |
Gesendet, wenn eine Ausführung gestartet wird. |
jobs.on_success |
Wird gesendet, wenn eine Ausführung beendet wird und entweder erfolgreich oder erfolgreich mit Fehlern abgeschlossen ist. |
jobs.on_failure |
Wird gesendet, wenn eine Ausführung in einem nicht erfolgreichen Zustand beendet wird. |
jobs.on_duration_warning_threshold_exceeded |
Gesendet, wenn eine Ausführung den Schwellenwert für die konfigurierte Dauergrenze überschreitet. |
Im Folgenden sind Beispielnutzlasten aufgeführt, die von Azure Databricks an Ihren konfigurierten Endpunkt gesendet werden. Diese Webhooks können auf Aufträge oder Aufgaben angewendet werden.
Benachrichtigung für das Startereignis eines Auftrags:
{
"event_type": "jobs.on_start",
"workspace_id": "your_workspace_id",
"run": {
"run_id": "run_id"
},
"job": {
"job_id": "job_id",
"name": "job_name"
}
}
Benachrichtigung für das Startereignis einer Aufgabenausführung:
{
"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"
}
}
Benachrichtigung für einen Auftragsausführungsfehler:
{
"event_type": "jobs.on_failure",
"workspace_id": "your_workspace_id",
"run": {
"run_id": "run_id"
},
"job": {
"job_id": "job_id",
"name": "job_name"
}
}
Benachrichtigung für erfolgreich ausgeführte Aufgaben:
{
"event_type": "jobs.on_success",
"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"
}
}