在Airflow DAG文件中使用变量是很常见的。变量可以存储共享配置信息或环境变量,可以方便地在DAG文件中使用,而无需在多个地方重复定义它们。但是,在使用变量时需要注意以下几点:
下面是一个示例代码,演示如何在DAG文件中正确使用变量:
import os
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.models import Variable
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1)
}
# 定义变量名称
VAR_NAME = 'example_variable'
# 获取变量值
var_value = Variable.get(VAR_NAME)
# 定义DAG
dag = DAG(
'example_dag',
default_args=default_args,
schedule_interval='@once'
)
# 使用变量
t1 = BashOperator(
task_id='print_variable',
bash_command=f'echo {var_value}',
dag=dag
)
在这个例子中,我们定义了一个名为“example_variable”的变量,并在DAG的构造函数中获取其值。然后,在BashOperator的构造函数中使用这个变量来输出其值。
以上就是正确使用Airflow DAG文件中变量的示例代码和注意事项。