变量¶
变量是Airflow的运行时配置概念——一个全局的键/值存储系统,可以从您的任务中查询,并通过Airflow的用户界面轻松设置,或作为JSON文件批量上传。
要使用它们,只需导入并在Variable模型上调用get:
from airflow.models import Variable
# Normal call style
foo = Variable.get("foo")
# Auto-deserializes a JSON value
bar = Variable.get("bar", deserialize_json=True)
# Returns the value of default_var (None) if the variable is not set
baz = Variable.get("baz", default_var=None)
你也可以从模板中使用它们:
# Raw value
echo {{ var.value.<variable_name> }}
# Auto-deserialize JSON value
echo {{ var.json.<variable_name> }}
变量是全局的,应仅用于覆盖整个安装环境的整体配置;要在任务/操作器之间传递数据,应改用XComs。
我们还建议您尽量将大部分设置和配置保留在DAG文件中,这样可以通过源代码控制进行版本管理;变量(Variables)仅适用于真正依赖运行时环境的值。
有关设置和管理变量的更多信息,请参阅Managing Variables。