Partager via


Ajouter des notifications sur un travail

Vous pouvez set notifications à envoyer lors des exécutions d’un travail et de tâches individuelles pour les événements suivants :

  • Démarrer
  • Réussite de l'achèvement
  • Échec
  • La durée dépasse un seuil configuré

Vous pouvez envoyer des notifications à une ou plusieurs adresses e-mail ou destinations tierces telles que Slack, Microsoft Teams, PagerDuty ou n’importe quel service webhook. Cet article décrit les différentes façons dont vous pouvez set des notifications au niveau du travail.

Ajouter des destinations système tierces

Vous pouvez set notifications à remettre à des systèmes tiers. Les destinations système tierces s’intègrent à des outils de notification populaires, notamment Slack, PagerDuty, Microsoft Teams et webhooks HTTP. Un administrateur doit configurer les destinations du système.

Pour configurer les destinations système, accédez à la page des paramètres d’administration, cliquez sur Modifier les notifications système, puis cliquez sur Créer une destination. Pour chaque travail ou tâche, vous pouvez configurer un maximum de trois destinations système pour chaque type d’événement de notification. Consultez la page des paramètres d’administration .

Important

Il est possible que le contenu des messages de Slack et Microsoft Teams change dans de prochaines versions. Vous ne devez pas implémenter des clients ou un traitement qui dépend du contenu spécifique ou de la mise en forme de ces messages. Si vous avez besoin d’un schema spécifique ou d’une mise en forme pour les notifications, Databricks recommande de configurer un webhook défini par l’utilisateur.

Configurer des notifications sur un travail

Avant de commencer, tenez compte des éléments suivants :

  • Les notifications au niveau du travail ne sont pas envoyées lorsque les tâches ayant échoué sont retentées. Pour recevoir une notification d’échec après chaque tâche ayant échoué, utilisez plutôt des notifications de tâche. Pour ajouter des notifications pour les exécutions de tâches, cliquez sur Ajouter en regard de Notifications dans le panneau des tâches lorsque vous ajoutez ou modifiez une tâche de travail.
  • Pour chaque travail ou tâche, vous pouvez configurer un maximum de trois destinations système pour chaque type d’événement de notification.
  • Un travail qui a été effectué dans un Réussi avec un état d’échecs est considéré comme étant dans un état réussi. Pour être averti lorsque des travaux ont été terminés dans cet état, vous devez configurer les notifications avec le paramètre "select Réussite".
  • Pour être averti lorsque votre travail dépasse une durée limit, vous devez set le limit.

Pour ajouter une ou plusieurs notifications lorsque l’exécution d’un travail commence, est terminée ou échoue, procédez comme suit :

  1. Dans le volet Détails du travail de votre travail, faites défiler jusqu’à la section Notifications de travaux, puis cliquez sur Modifier les notifications.
  2. Dans le coin inférieur gauche, cliquez sur Ajouter une notification.
  3. Dans Destination, selectadresse e-mail ou une destination système.
  4. Select les cases à cocher pour chaque type d’événement dont vous souhaitez être averti : Début, Réussite, Échec, Avertissement de durée, ou Retard de streaming.
  5. Pour configurer une autre destination, cliquez sur Ajouter une notification à nouveau et suivez les étapes précédentes.
  6. Une fois que vous avez configuré toutes les notifications, cliquez sur Enregistrer.

Configurer les notifications pour les travaux lents

Si vous avez configuré une durée attendue pour un travail, vous pouvez ajouter un e-mail ou une notification système si le travail ou la tâche dépasse le seuil configuré. Pour recevoir une notification pour un travail ou une tâche qui dépasse un seuil de durée, selectavertissement de durée lorsque vous ajoutez ou modifiez une notification. Pour recevoir une notification pour un travail ou une tâche qui dépasse une métrique de backlog de diffusion en continu, selectbacklog de streaming lors de l'ajout ou de la modification d'une notification.

Voici ce qui s’applique aux indicateurs du retard de diffusion en continu :

  • Les notifications sont envoyées lorsque le backlog moyen sur une période de 10 minutes dépasse le seuil défini.
  • Pour éviter des messages excessifs, Azure Databricks attend 30 minutes avant de déterminer s’il faut envoyer un autre message. Bien que le backlog reste élevé, vous recevrez des mises à jour à intervalles de 30 minutes.

Filtrer des notifications pour les exécutions ignorées ou annulées

Vous pouvez réduire le nombre de notifications envoyées en filtrant les notifications lorsqu’une exécution est ignorée ou annulée. Pour filtrer les notifications, selectdésactiver les notifications pour les exécutions ignorées ou désactiver les notifications pour les exécutions annulées lorsque vous ajoutez ou modifiez des notifications par e-mail ou des notifications système.

Par défaut, les tâches sont retentées trois fois avant d’échouer complètement. Lors de la configuration des notifications de tâche, vous pouvez selectdésactiver les notifications jusqu’à la dernière nouvelle tentative pour filtrer toutes les notifications jusqu’à la nouvelle tentative finale.

Remarque

Lorsque vous selectDésactiver les notifications pour les exécutions ignorées ou Désactiver les notifications pour les exécutions annulées pour un travail, vous ne filtrez pas les notifications configurées pour les tâches de travail. Pour filtrer toutes les notifications pour des exécutions ignorées ou annulées, vous devez également filtrer toutes les notifications au niveau des tâches que vous avez configurées.

Charges utiles des webhooks HTTP

Vous pouvez configurer des webhooks HTTP à envoyer sur les événements répertoriés dans la tablesuivante.

code de type d'événement Quand est-il envoyé ?
jobs.on_start Envoyé lorsqu’une exécution démarre.
jobs.on_success Envoyé lorsqu’une exécution s’arrête et est achevée dans un état de réussite ou accompagnée d'échecs.
jobs.on_failure Envoyé lorsqu'une exécution s'arrête dans un état échoué.
jobs.on_duration_warning_threshold_exceeded Envoyé lorsqu’une exécution est en cours d’exécution pendant plus que la durée prévue configurée.

Voici des exemples de charges utiles envoyées par Azure Databricks à votre point de terminaison configuré. Ces webhooks peuvent être appliqués à des travaux ou des tâches.

Notification d’un événement de démarrage d’une exécution de travail :

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notification d’un événement de démarrage de l’exécution d’une tâche :

{
  "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"
  }
}

Notification d’échec de l’exécution d’un travail :

{
  "event_type": "jobs.on_failure",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notification de réussite de l’exécution d’une tâche :

{
  "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"
  }
}