iMind Developers Blog

iMind開発者ブログ

Airflowのdags内でairflow.cfgの値を参照する

概要

$AIRFLOW_HOME/airflow.cfgファイルに記述した内容をPythonのコードから取りたかった。

バージョン情報

  • Python 3.6.7
  • apache-airflow==1.10.1

settingsを参照する

AIRFLOW_HOMEやDAGS_FOLDERの値はairflow.settingsに入っている。

import airflow

# airflow_home
airflow.settings.AIRFLOW_HOME
  #=> '/home/user/airflow'

# dags_folder
airflow.settings.DAGS_FOLDER
  #=> '/home/user/airflow/dags'

# logging_level
airflow.settings.LOGGING_LEVEL

settings.confを参照する

その他、airflow.cfgに記述した各値はsettings.confから取得できる。

airflow.settings.conf.get('core', 'airflow_home')
  #=> '/home/user/airflow'

airflow.settings.conf.get('core', 'dags_folder')
  #=> '/home/user/airflow/dags'

airflow.settings.conf.get('core', 'base_log_folder')
  #=> '/home/user/airflow/logs'

settings.confの全値の参照。

airflow.settings.conf.as_dict()

改定履歴

Author: Masato Watanabe, Date: 2019-02-16, 記事投稿