变量

变量是 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> }}

变量是全局的,应该只用于覆盖整个安装的整体配置;要将数据从一个任务/操作符传递到另一个,你应该使用 XComs 代替。

我们还建议你尽量将大部分设置和配置保存在你的 DAG 文件中,这样就可以使用源代码控制进行版本控制;变量实际上只用于真正依赖于运行时的值。

有关设置和管理变量的更多信息,请参阅 管理变量

此条目是否有帮助?