airflow.providers.ssh.operators.ssh¶
类¶
SSHOperator 用于使用 ssh_hook 在指定的远程主机上执行命令。 |
模块内容¶
- class airflow.providers.ssh.operators.ssh.SSHOperator(*, ssh_hook=None, ssh_conn_id=None, remote_host=None, command=None, conn_timeout=None, cmd_timeout=NOTSET, environment=None, get_pty=False, banner_timeout=30.0, skip_on_exit_code=None, **kwargs)[source]¶
基类:
airflow.models.BaseOperator
SSHOperator 用于使用 ssh_hook 在指定的远程主机上执行命令。
- 参数::
ssh_hook (airflow.providers.ssh.hooks.ssh.SSHHook | None) – 预定义的 ssh_hook,用于远程执行。ssh_hook 或 ssh_conn_id 需要提供其中一个。
ssh_conn_id (str | None) – 来自 Airflow 连接中的 SSH 连接 ID。如果提供了 ssh_hook,则 ssh_conn_id 将被忽略。
remote_host (str | None) – 要连接的远程主机 (模板化) 可为空。如果提供,它将替换 ssh_hook 中定义或 ssh_conn_id 连接中预定义的 remote_host。
command (str | None) – 在远程主机上执行的命令。(模板化)
conn_timeout (int | None) – 保持连接的超时时间 (秒)。默认值为 10 秒。可为空。如果提供,它将替换 ssh_conn_id 连接中预定义的 conn_timeout。
cmd_timeout (int | airflow.utils.types.ArgNotSet | None) – 执行命令的超时时间 (秒)。默认值为 10 秒。可为空,None 表示无超时。如果提供,它将替换 ssh_conn_id 连接中预定义的 cmd_timeout。
environment (dict | None) – shell 环境变量字典。请注意,如果 SSH 配置中未设置 AcceptEnv,服务器将默默地拒绝它们。(模板化)
get_pty (bool) – 向服务器请求一个伪终端。设置为
True
会在任务超时时杀死远程进程。默认值为False
,但请注意,当 command 以sudo
开头时,get_pty 会被强制设置为True
。banner_timeout (float) – 等待服务器横幅信息的超时时间 (秒)
skip_on_exit_code (int | collections.abc.Container[int] | None) – 如果命令以这个退出码退出,则将任务保留在
skipped
状态 (默认: None)。如果设置为None
,任何非零退出码都将被视为失败。
如果 do_xcom_push 为 True,则 SSH 会话发出的数字退出码将以
ssh_exit
为键推送到 XCom。- template_fields: collections.abc.Sequence[str] = ('command', 'environment', 'remote_host')[source]¶
- template_ext: collections.abc.Sequence[str] = ('.sh', '.bash', '.csh', '.zsh', '.dash', '.ksh')[source]¶
- property ssh_hook: airflow.providers.ssh.hooks.ssh.SSHHook[source]¶
创建 SSHHook 以在远程主机上运行命令。
- property hook: airflow.providers.ssh.hooks.ssh.SSHHook[source]¶