airflow.models.param
¶
模块内容¶
类¶
用于保存 Param 的默认值和进行验证的规则集的类。 |
|
用于保存 DAG 或任务的所有参数的类。 |
|
DAG 运行参数参考。 |
函数¶
|
合并、验证参数并将其转换为简单的字典。 |
属性¶
- class airflow.models.param.Param(default=NOTSET, description=None, **kwargs)[source]¶
用于保存 Param 的默认值和进行验证的规则集的类。
如果没有规则集,它总是验证并返回默认值。
- 参数
default (Any) – 此 Param 对象持有的值
description (str | None) – Param 的可选帮助文本
schema – Param 的验证模式,如果未给定,则除了 default & description 之外的所有 kwargs 都将构成模式
- class airflow.models.param.ParamsDict(dict_obj=None, suppress_exception=False)[source]¶
基类:
MutableMapping
[str
,Any
]用于保存 DAG 或任务的所有参数的类。
所有键都严格为字符串,如果值还不是 Param 对象,则会将其转换为 Param 对象。此类用于隐式替换参数的字典,理想情况下不需要直接使用。
- 参数
dict_obj (MutableMapping | None) – 用于初始化 ParamsDict 的字典或类似字典的对象
suppress_exception (bool) – 在初始化 ParamsDict 时抑制值异常的标志
- __setitem__(key, value)[源代码]¶
重写字典的
setitem
方法,以确保所有值都仅为 Param 的类型。- 参数
key (str) – 需要在字典中插入或更新的键
value (Any) – 需要根据键设置的值。它可以是任何类型,但最终会被转换为并存储为 Param 对象。
- class airflow.models.param.DagParam(current_dag, name, default=NOTSET)[源代码]¶
基类:
airflow.utils.mixins.ResolveMixin
DAG 运行参数参考。
这将一个简单的 Param 对象绑定到 DAG 实例中的名称,以便可以在运行时通过
{{ context }}
字典解析它。 此类的理想用例是隐式转换传递给由@dag
修饰的方法的 args。它可用于参数化 DAG。 您可以通过在触发 DagRun 时在 conf 上设置值来覆盖其值。
也可以通过访问
{{ context.params }}
在模板中使用它。示例:
- with DAG(…) as dag
EmailOperator(subject=dag.param(‘subject’, ‘来自 Airflow 的问候!’))
- 参数
current_dag (airflow.models.dag.DAG) – 用于参数的 Dag。
name (str) – 用于设置参数的键值
default (Any) – 如果未设置任何参数,则使用的默认值。