airflow.providers.common.sql.sensors.sql¶
类¶
重复运行 SQL 语句,直到满足某个条件。 |
模块内容¶
- class airflow.providers.common.sql.sensors.sql.SqlSensor(*, conn_id, sql, parameters=None, success=None, failure=None, selector=itemgetter(0), fail_on_empty=False, hook_params=None, **kwargs)[source]¶
基类:
airflow.sensors.base.BaseSensorOperator
重复运行 SQL 语句,直到满足某个条件。
这将反复尝试,直到满足成功或失败条件,或者直到第一个单元格不为
0
、'0'
、''
或None
。可选的 success 和 failure 可调用对象会以返回的第一个单元格作为参数被调用。如果定义了 success 可调用对象,传感器将持续重试直到满足条件。如果定义了 failure 可调用对象且条件满足,传感器将引发 AirflowException。失败条件在成功条件之前评估。还可以向传感器传递一个 fail_on_empty 布尔值,在这种情况下,如果没有返回任何行,传感器将失败。
- 参数:
conn_id (str) – 传感器将针对其运行的连接
sql (str) – 要运行的 SQL。要通过,它需要返回至少一个包含非零/非空字符串值的单元格。
parameters (collections.abc.Mapping[str, Any] | None) – 用于渲染 SQL 查询的参数(可选)。
success (Callable[[Any], bool] | None) – 传感器的成功条件是一个可调用对象,它接受 selector 的输出作为唯一参数,并返回一个布尔值(可选)。
failure (Callable[[Any], bool] | None) – 传感器的失败条件是一个可调用对象,它接受 selector 的输出作为唯一参数,并返回一个布尔值(可选)。
selector (Callable[[tuple[Any]], Any]) – 在将结果行传递给 success 或 failure 之前对其进行转换的函数(可选)。默认为获取第一个单元格。
fail_on_empty (bool) – 在未返回行时显式失败。
hook_params (collections.abc.Mapping[str, Any] | None) – 要传递给底层 Hook 的额外配置参数。应与所需的 Hook 构造函数参数匹配。
- template_fields: collections.abc.Sequence[str] = ('sql', 'hook_params', 'parameters')[source]¶
- template_ext: collections.abc.Sequence[str] = ('.hql', '.sql')[source]¶