Anpassen von E-Mail-Benachrichtigungen in Apache Airflow

Marcin Okuniewski
Marcin Okuniewski
April 6, 2026
9 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Apache Airflow ist eines der beliebtesten Tools zur Orchestrierung von data pipelines. Eine der nützlichsten Funktionen von Airflow ist die Möglichkeit, E-Mail-Benachrichtigungen zu senden, wenn ein Task fehlschlägt, erfolgreich abgeschlossen wird oder andere wichtige Ereignisse auftreten. Standardmäßig bietet Airflow grundlegende E-Mail-Benachrichtigungen, aber oft reicht das nicht aus, um die Anforderungen moderner Teams zu erfüllen.

Warum benutzerdefinierte E-Mails?

Standard-E-Mails in Airflow enthalten grundlegende Informationen wie den DAG-Namen, den Task-Namen und den Status. Für viele Teams ist es jedoch wichtig, zusätzliche Kontexte wie Fehlermeldungen, Links zu Dashboards oder spezifische Anweisungen zur Fehlerbehebung bereitzustellen. Benutzerdefinierte E-Mails ermöglichen es Ihnen, diese Informationen hinzuzufügen und die Kommunikation zu optimieren.

So richten Sie benutzerdefinierte E-Mails ein

Um benutzerdefinierte E-Mails in Airflow zu implementieren, können Sie die Funktion on_failure_callback oder on_success_callback in Ihren DAGs verwenden. Hier ist ein Beispiel:

from airflow.models import DAG
from airflow.operators.dummy import DummyOperator
from airflow.utils.dates import days_ago

def custom_failure_email(context):
    subject = f"Task {context['task_instance_key_str']} failed"
    body = f"Details: {context}"
    # Hier können Sie Ihre E-Mail-Sende-Logik hinzufügen
    print(subject)
    print(body)

dag = DAG(
    'custom_email_dag',
    default_args={
        'on_failure_callback': custom_failure_email
    },
    schedule_interval=None,
    start_date=days_ago(1),
)

task = DummyOperator(
    task_id='dummy_task',
    dag=dag,
)

In diesem Beispiel wird die Funktion custom_failure_email aufgerufen, wenn ein Task fehlschlägt. Sie können diese Funktion anpassen, um E-Mails mit spezifischen Inhalten zu senden.

Best Practices

  • Vermeiden Sie Spam: Stellen Sie sicher, dass Ihre E-Mails nur gesendet werden, wenn es wirklich notwendig ist. Zu viele Benachrichtigungen können dazu führen, dass wichtige Informationen übersehen werden.
  • Verwenden Sie Templates: Nutzen Sie HTML-Templates, um Ihre E-Mails ansprechender und informativer zu gestalten.
  • Testen Sie Ihre Einstellungen: Testen Sie Ihre benutzerdefinierten E-Mails gründlich, bevor Sie sie in einer Produktionsumgebung verwenden.

Mit benutzerdefinierten E-Mail-Benachrichtigungen in Apache Airflow können Sie Ihre Workflows effektiver überwachen und sicherstellen, dass Ihr Team immer auf dem neuesten Stand ist.

Share this post
DevOps
Marcin Okuniewski
MORE POSTS BY THIS AUTHOR
Marcin Okuniewski

Curious how we can support your business?

TALK TO US