在Airflow DAG中,如果你希望使用环境变量的值替换变量名,你可以使用Python中的os.environ
来获取环境变量的值,并在DAG中使用。下面是一个代码示例:
import os
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime
# 获取环境变量的值
env_var_value = os.environ.get('ENV_VAR_NAME')
# 创建DAG
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1)
}
dag = DAG('example_dag', default_args=default_args, schedule_interval=None)
# 使用环境变量的值替换变量名
task = BashOperator(
task_id='example_task',
bash_command=f'echo "ENV_VAR_NAME value: {env_var_value}"',
dag=dag
)
在上面的代码中,我们首先使用os.environ.get('ENV_VAR_NAME')
获取环境变量ENV_VAR_NAME
的值,并将其存储在env_var_value
变量中。然后,我们在BashOperator
的bash_command
参数中使用env_var_value
来替换变量名。
注意:在执行Airflow任务之前,确保设置了环境变量ENV_VAR_NAME
的值。你可以在终端中使用export ENV_VAR_NAME=value
来设置环境变量的值。