Attivare un Dag figlio
Ti accorgi che alcuni dei tuoi workflow usano componenti simili e capisci che potresti separare le attività comuni in un Dag dedicato. Questo ti permetterà di eseguire quei componenti quando necessario senza mantenere più copie. Decidi quindi di eseguire un Dag figlio tramite un task all'interno del workflow corrente.
I componenti dag, task e datetime sono già stati importati per te.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
- Importa l'operatore necessario per avviare un Dag dall'interno del tuo workflow.
- Imposta l'operatore per attivare il Dag chiamato
child_pipeline. - Assicurati che il Dag padre attenda il completamento del Dag attivato prima di proseguire.
- Imposta la frequenza con cui l'operatore verifica se il Dag figlio ha terminato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import TriggerDagRunOperator
from airflow.providers.standard.operators.trigger_dagrun import ____
@dag(start_date=datetime(2026, 1, 1))
def parent_orchestrator_dag():
# Trigger child_pipeline and wait for it to complete
trigger_child = TriggerDagRunOperator(
task_id="trigger_child_pipeline",
trigger_dag_id="____",
____=True,
____=30,
conf={"source": "s3://my-bucket/raw/"})
validate() >> trigger_child >> post_trigger_summary()
parent_orchestrator_dag()