变量¶
变量是 Airflow 的运行时配置概念 - 一个全局键/值存储,可以从任务中查询,并且可以通过 Airflow 的用户界面轻松设置,或作为 JSON 文件批量上传。
要使用它们,只需导入并调用变量模型上的 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> }}
变量是全局的,并且只应用于涵盖整个安装的总体配置;要将数据从一个任务/操作符传递到另一个任务/操作符,你应该使用 XCom。
我们还建议你尝试将大部分设置和配置保留在 DAG 文件中,以便可以使用源代码管理对其进行版本控制;变量实际上只适用于真正依赖于运行时的值。
有关设置和管理变量的更多信息,请参阅 管理变量。