airflow.providers.sftp.operators.sftp¶
此模块包含 SFTP 运算符。
类¶
可用于 SFTP 的操作。 |
|
用于在远程主机和本地之间传输文件的 SFTPOperator。 |
模块内容¶
- 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 传输通道,作为文件传输的基础。
- 参数:
sftp_hook (airflow.providers.sftp.hooks.sftp.SFTPHook | None) – 预定义的 SFTPHook 以使用。必须提供 sftp_hook 或 ssh_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]¶