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}
の形式である。
SECTION
とKEY
の間は_
が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の設定より優先されることに注意する。