Airflowのconfigで環境変数を使う

documentなどに明示的に記載されてないが、Airflowのconfig file airflow.cfgでは環境変数が使える。 AIRFLOW_HOME環境変数として設定されていれば、以下のようにかける。

[core]
# The home folder for airflow, default is ~/airflow
airflow_home = ${AIRFLOW_HOME}

# The folder where your airflow pipelines live, most likely a
# subfolder in a code repository
# This path must be absolute
dags_folder = ${AIRFLOW_HOME}/dags

# The folder where airflow should store its log files
# This path must be absolute
base_log_folder = ${AIRFLOW_HOME}/logs

また、config fileを使わず環境変数で直接設定することも可能。 formatは$AIRFLOW__{SECTION}__{KEY}の形式である。 SECTIONKEYの間は_が2つであることに注意する。 上の例の場合は

export AIRFLOW__CORE__AIRFLOW_HOME=/path/to/airflow/home
export AIRFLOW__CORE__DAGS_FOLDER=/path/to/airflow/dags
export AIRFLOW__CORE__BASE_LOG_FOLDER=/path/to/airflow/logs

である。 環境変数がconfig fileの設定より優先されることに注意する。