Aggiungere notifiche su un lavoro
È possibile configurare le notifiche da inviare durante le esecuzioni di un processo e durante le attività individuali di un processo per gli eventi seguenti:
- Inizio
- Completamento riuscito
- Fallimento
- La durata supera una soglia configurata
È possibile inviare notifiche a uno o più indirizzi di posta elettronica o a destinazioni di terze parti, ad esempio Slack, Microsoft Teams, PagerDuty o qualsiasi servizio basato su webhook. Questo articolo descrive i diversi modi in cui è possibile impostare le notifiche a livello di attività.
Aggiungere destinazioni di sistema di terze parti
È possibile configurare le notifiche da recapitare ai sistemi di terze parti. Le destinazioni di sistema di terze parti si integrano con gli strumenti di notifica più diffusi, tra cui Slack, PagerDuty, Microsoft Teams e webhooks HTTP. Un amministratore deve configurare le destinazioni di sistema.
Per configurare le destinazioni di sistema, passare alla pagina delle impostazioni di amministrazione, fare clic su Modifica notifiche di sistema e quindi su Crea nuova destinazione. Per ogni processo o attività, è possibile configurare un massimo di tre destinazioni di sistema per ogni tipo di evento di notifica. Vai alla pagina delle impostazioni di amministrazione .
Importante
Il contenuto dei messaggi di Slack e Microsoft Teams potrebbe cambiare nelle versioni future. Non è consigliabile implementare client o elaborazioni che dipendono dal contenuto o dalla formattazione specifici di questi messaggi. Se è necessario uno schema o una formattazione specifici per le notifiche, Databricks consiglia di configurare un webhook definito dall'utente.
Configurare le notifiche in un'attività
Prima di iniziare, considerare quanto segue:
- Le notifiche a livello di processo lavorativo non vengono inviate quando vengono ritentate le attività non riuscite. Per ricevere una notifica di errore dopo ogni attività non riuscita, usare invece le notifiche delle attività. Per aggiungere notifiche per le esecuzioni delle attività, fare clic su Aggiungi accanto a Notifiche nel pannello attività quando si aggiunge o si modifica un'attività di lavoro.
- Per ogni processo o attività, è possibile configurare un massimo di tre destinazioni di sistema per ogni tipo di evento di notifica.
- Un processo completato in un Stato riuscito con errori viene considerato in uno stato di esito positivo. Per ricevere una notifica quando i processi sono stati completati in questo stato, è necessario selezionare Operazione riuscita quando si configurano le notifiche.
- Per ricevere una notifica quando il processo supera un limite di durata, è necessario impostare il limite.
Per aggiungere una o più notifiche all'inizio, al completamento o al fallimento dell'esecuzione di un processo, eseguire le operazioni seguenti:
- Nel pannello dettagli lavoro per il tuo lavoro, scorri verso il basso fino alla sezione notifiche lavoro e quindi fai clic su Modifica notifiche.
- Nell'angolo in basso a sinistra fare clic su Aggiungi notifica.
- In Destinazione, selezionare indirizzo di posta elettronica o una destinazione di sistema.
- Selezionare le caselle di controllo per ogni tipo di evento a cui si vuole ricevere una notifica: Inizio, Successo, Errore, Avviso di duratao Arretrato di streaming.
- Per configurare un'altra destinazione, fare clic su Aggiungi notifica e seguire i passaggi precedenti.
- Dopo aver configurato tutte le notifiche, fare clic su Salva.
Configurare le notifiche per i processi lenti
Se hai configurato una durata prevista per un processo, puoi aggiungere un messaggio di posta elettronica o una notifica di sistema se il processo o l'attività supera la soglia configurata. Per ricevere una notifica per un lavoro o un'attività che supera una soglia di durata, selezionare Avviso durata quando si aggiunge o si modifica una notifica. Per ricevere una notifica per un processo o un'attività che supera una metrica del backlog di streaming, selezionare backlog di streaming quando si aggiunge o si modifica una notifica.
Cosa segue vale per le metriche del backlog di streaming:
- Le notifiche vengono inviate quando il backlog medio in un periodo di 10 minuti supera la soglia definita.
- Per evitare messaggi eccessivi, Azure Databricks attende 30 minuti prima di determinare se inviare un altro messaggio. Mentre il backlog rimane elevato, si riceveranno aggiornamenti a intervalli di 30 minuti.
Filtrare le notifiche per le esecuzioni ignorate o annullate
È possibile ridurre il numero di notifiche inviate filtrando le notifiche quando un'esecuzione viene ignorata o annullata. Per filtrare le notifiche, selezionare Disattivare le notifiche per le esecuzioni ignorate o Disattivare le notifiche per le esecuzioni annullate quando si aggiungono o modificano notifiche tramite posta elettronica o notifiche di sistema.
Per impostazione predefinita, le attività vengono ritentate tre volte prima di fallire completamente. Quando si configurano le notifiche delle attività, è possibile selezionare Disattivare le notifiche fino all'ultimo tentativo per filtrare tutte le notifiche fino all'ultimo tentativo.
Nota
Quando si seleziona Disattivare notifiche per esecuzioni ignorate o Disattivare notifiche per esecuzioni annullate per un lavoro, non filtra le notifiche configurate per le attività del lavoro. Per filtrare tutte le notifiche per le esecuzioni saltate o annullate, è necessario filtrare anche tutte le notifiche a livello di attività configurate.
Payload webhook HTTP
È possibile configurare webhook HTTP da inviare agli eventi elencati nella tabella seguente.
codice tipo di evento | Quando viene inviato? |
---|---|
jobs.on_start |
Inviato all'avvio di un'esecuzione. |
jobs.on_success |
Inviato quando un'esecuzione si arresta e viene completata in uno stato di esito positivo o riuscito ma con errori. |
jobs.on_failure |
Inviato quando un'esecuzione si arresta in uno stato non riuscito. |
jobs.on_duration_warning_threshold_exceeded |
Inviato quando un'esecuzione è stata eseguita per più della durata prevista configurata. |
Di seguito sono riportati i payload di esempio inviati da Azure Databricks all'endpoint configurato. Questi webhook possono essere applicati a processi o attività.
Notifica per un evento di avvio dell'esecuzione del processo:
{
"event_type": "jobs.on_start",
"workspace_id": "your_workspace_id",
"run": {
"run_id": "run_id"
},
"job": {
"job_id": "job_id",
"name": "job_name"
}
}
Notifica per un evento di avvio dell'esecuzione del task:
{
"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"
}
}
Notifica per un errore di esecuzione del lavoro:
{
"event_type": "jobs.on_failure",
"workspace_id": "your_workspace_id",
"run": {
"run_id": "run_id"
},
"job": {
"job_id": "job_id",
"name": "job_name"
}
}
Notifica per l'esito positivo dell'esecuzione di un'attività:
{
"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"
}
}