airflow.providers.standard.sensors.bash

BashSensor

执行一个 bash 命令/脚本。

模块内容

class airflow.providers.standard.sensors.bash.BashSensor(*, bash_command, env=None, output_encoding='utf-8', retry_exit_code=None, **kwargs)[source]

Bases: airflow.sensors.base.BaseSensorOperator

执行一个 bash 命令/脚本。

当且仅当返回代码为 0 时返回 True。

参数:
  • bash_command – 要执行的命令、命令集或 bash 脚本(必须是 ‘.sh’ 文件)的引用。

  • env – 如果 env 不是 None,它必须是一个映射,用于定义新进程的环境变量;这些环境变量将替代继承当前进程环境(这是默认行为)。(模板化)

  • output_encoding – bash 命令的输出编码。

  • retry_exit_code (int | None) – 如果任务以此代码退出,则将传感器视为尚未完成,并根据常规重试/超时设置稍后重试检查。任何其他非零返回代码将被视为错误,并导致传感器失败。如果设置为 None(默认值),任何非零退出代码都将导致重试,并且任务除非超时,否则永远不会引发错误。

另请参阅

有关如何使用此传感器的更多信息,请参阅指南: BashSensor

template_fields: collections.abc.Sequence[str] = ('bash_command', 'env')[source]
bash_command[source]
env = None[source]
output_encoding = 'utf-8'[source]
retry_exit_code = None[source]
poke(context)[source]

在临时目录中执行 bash 命令。

此条目是否有帮助?