LoslegenKostenlos starten

Eine Trigger-Regel implementieren

Nach dem Erstellen eines Workflows stellst du fest, dass der Dag davon profitieren würde, dich zu informieren, wenn mindestens eine Aufgabe fehlschlägt. Du entscheidest dich, eine Aufgabe zu implementieren, die die Prüfung one failed in deinem Dag verwendet, um dich zu benachrichtigen, falls eine Aufgabe im Dag fehlschlägt.

Alle anderen Aufgaben sind bereits definiert, und die Objekte task & dag wurden für dich importiert.

Diese Übung ist Teil des Kurses

<Kurs>Einführung in Apache Airflow mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere die passende Bibliothek, um Trigger-Regeln zu verwenden.
  • Füge der Aufgabe notify_on_failure das passende Trigger-Rule-Attribut hinzu.
  • Setze das Attribut so, dass die Aufgabe ausgelöst wird, wenn eine oder mehrere Upstream-Aufgaben fehlschlagen.
  • Setze notify_on_failure als Downstream-Abhängigkeit der beiden Transform-Aufgaben.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Import TriggerRule
from airflow.utils.____ import ____

@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():

    # Trigger notify_on_failure when any upstream task fails
    @task(____=TriggerRule.____)
    def notify_on_failure(**context) -> None:
        dag_id = context["dag"].dag_id
        run_id = context["run_id"]
        print(f"ALERT: A task failed in DAG '{dag_id}', run '{run_id}'. Sending notification...")

    # Set notify_on_failure downstream of both transform tasks
    [transform_users(), transform_orders()] ____ notify_on_failure()
    
etl_pipeline()
Code bearbeiten und ausführen