变量¶
变量是 Airflow 的运行时配置概念 - 一个全局的通用键/值存储,可以从任务中查询,并且可以通过 Airflow 的用户界面轻松设置,或者作为 JSON 文件批量上传。
要使用它们,只需导入 Variable 模型并调用 get
方法
from airflow.sdk 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 (None) if the variable is not set
baz = Variable.get("baz", default=None)
您也可以在模板中使用它们
# Raw value
echo {{ var.value.<variable_name> }}
# Auto-deserialize JSON value
echo {{ var.json.<variable_name> }}
变量是**全局的**,应仅用于覆盖整个安装的总体配置;要将数据从一个任务/Operator 传递到另一个,应改用XComs。
我们还建议您尽量将大多数设置和配置保存在 DAG 文件中,以便可以使用源代码控制进行版本控制;变量确实只用于真正依赖于运行时的值。
有关设置和管理变量的更多信息,请参阅管理变量。