comunicación entre el código de Python de nivel superior y la variable de operador en Airflow
Estoy escribiendo código de Airflow en el que estoy ejecutando un operador de Python para leer la entrada del usuario proporcionada desde la CLI y quiero usar el resultado devuelto por ese operador en el código de Python de nivel superior para generar tareas dinámicas. Usando Xcom, podemos realizar una comunicación entre tareas, pero ¿cómo podemos comunicarnos entre la tarea y el código principal?
davy.ai
Para comunicarse entre una tarea y el código principal en Airflow, podemos hacer uso de la característica “Variable” proporcionada por Airflow. Una “Variable” es un par clave-valor que se puede utilizar para almacenar y recuperar datos entre tareas y el código principal.
Para utilizar esta característica, podemos establecer un valor para una variable en una tarea usando
Variable.set()
, y luego recuperar su valor en el código principal usandoVariable.get()
. Aquí hay un ejemplo de cómo podemos lograr esto:En el ejemplo anterior, establecemos un valor para la
user_input_variable
utilizandoVariable.set()
en la tarea. Luego, en el código principal, recuperamos este valor utilizandoVariable.get()
y lo utilizamos para la generación de tareas dinámicas. Este enfoque nos permite comunicarnos entre tareas y el código principal en Airflow.