airflow.providers.sftp.operators.sftp

此模块包含 SFTP 运算符。

SFTPOperation

可用于 SFTP 的操作。

SFTPOperator

用于在远程主机和本地之间传输文件的 SFTPOperator。

模块内容

class airflow.providers.sftp.operators.sftp.SFTPOperation[source]

可用于 SFTP 的操作。

PUT = 'put'[source]
GET = 'get'[source]
DELETE = 'delete'[source]
class airflow.providers.sftp.operators.sftp.SFTPOperator(*, sftp_hook=None, ssh_conn_id=None, remote_host=None, local_filepath=None, remote_filepath, operation=SFTPOperation.PUT, confirm=True, create_intermediate_dirs=False, concurrency=1, **kwargs)[source]

基类: airflow.models.BaseOperator

用于在远程主机和本地之间传输文件的 SFTPOperator。

此运算符使用 `sftp_hook` 打开 SFTP 传输通道,作为文件传输的基础。

参数:
  • ssh_conn_id (str | None) – Airflow 连接中的 SSH 连接 ID

  • sftp_hook (airflow.providers.sftp.hooks.sftp.SFTPHook | None) – 预定义的 SFTPHook 以使用。必须提供 sftp_hookssh_conn_id 中的一个。

  • remote_host (str | None) – 要连接的远程主机 (模板化)。可为空。如果提供,它将替换在 sftp_hook 中定义或在 ssh_conn_id 连接中预定义的 remote_host

  • local_filepath (str | list[str] | None) – 要获取或放置的本地文件路径或本地文件路径列表。(模板化)

  • remote_filepath (str | list[str]) – 要获取、放置或删除的远程文件路径或远程文件路径列表。(模板化)

  • operation (str) – 指定操作 'get'、'put' 或 'delete',默认为 'put'。

  • confirm (bool) – 指定是否应确认 SFTP 操作,默认为 True。

  • create_intermediate_dirs (bool) –

    在从远程复制到本地以及反之亦然时创建缺失的中间目录。默认为 False。

    示例: 以下任务会将 file.txt 复制到远程主机上的 /tmp/tmp1/tmp2/,并在它们不存在时创建 tmp、``tmp1`` 和 tmp2 目录。如果未传递此参数,则会因为目录不存在而报错。

    put_file = SFTPOperator(
        task_id="test_sftp",
        ssh_conn_id="ssh_default",
        local_filepath="/tmp/file.txt",
        remote_filepath="/tmp/tmp1/tmp2/file.txt",
        operation="put",
        create_intermediate_dirs=True,
        dag=dag,
    )
    

  • concurrency (int) – 传输目录时的线程数。每个线程都会打开一个新的 SFTP 连接。此参数仅在传输目录时使用,而不是传输单个文件时使用。(默认为 1)

template_fields: collections.abc.Sequence[str] = ('local_filepath', 'remote_filepath', 'remote_host')[source]
sftp_hook = None[source]
ssh_conn_id = None[source]
remote_host = None[source]
operation ='put'[source]
confirm = True[source]
create_intermediate_dirs = False[source]
local_filepath = None[source]
remote_filepath[source]
concurrency = 1[source]
execute(context)[source]

创建运算符时派生。

上下文与渲染 Jinja 模板时使用的字典相同。

有关更多上下文信息,请参考 get_template_context。

get_openlineage_facets_on_start()[source]

返回 OpenLineage 数据集。

数据集将具有以下结构

输入: file://<本地主机>/path 输出: file://<远程主机>:<远程端口>/path。

此条目是否有帮助?