这是因为在Airflow 2.x版本中,PythonOperator中已经没有“conf”参数。相反,可以使用“task_config”参数来访问Airflow变量。您可以使用以下代码示例来访问您的变量:
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime
def my_task(ds, **kwargs):
my_variable = kwargs['task_instance'].xcom_pull(task_ids='my_task_id', key='my_variable_key')
print(my_variable)
dag = DAG('my_dag', start_date=datetime.now())
task_one = PythonOperator(
task_id='my_task_id',
python_callable=my_task,
provide_context=True,
dag=dag,
)
task_two = PythonOperator(
task_id='my_task_two_id',
python_callable=my_task,
task_config={
'my_variable_key': 'my_variable_value'
},
provide_context=True,
dag=dag,
)
task_two << task_one