Airflow可以从三个地方获取环境变量:
Airflow配置文件(airflow.cfg):在配置文件中可以设置全局的环境变量,例如通过设置AIRFLOW_HOME
来指定Airflow的主目录。可以通过修改配置文件或使用命令行参数来设置环境变量。
操作系统环境变量:Airflow也可以获取操作系统的环境变量。可以在操作系统上设置环境变量,然后在Airflow的代码中通过os.environ
来获取。
DAG级别的环境变量:可以在DAG的定义中设置环境变量。可以通过在DAG定义的Python文件中设置default_args
字典中的env
参数来设置环境变量。例如:
from datetime import datetime
from airflow import DAG
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1),
'env': {
'MY_ENV_VARIABLE': 'my_value'
}
}
with DAG('my_dag', default_args=default_args) as dag:
# DAG的任务定义...
在任务中可以通过os.environ
来获取环境变量的值:
import os
my_env_variable = os.environ.get('MY_ENV_VARIABLE')