airflow.providers.sftp.operators.sftp
¶
This module contains SFTP operator.
Module Contents¶
Classes¶
Operation that can be used with SFTP/ |
|
SFTPOperator for transferring files from remote host to local or vice a versa. |
- class airflow.providers.sftp.operators.sftp.SFTPOperation[source]¶
Operation that can be used with SFTP/
- class airflow.providers.sftp.operators.sftp.SFTPOperator(*, ssh_hook=None, ssh_conn_id=None, remote_host=None, local_filepath=None, remote_filepath=None, operation=SFTPOperation.PUT, confirm=True, create_intermediate_dirs=False, **kwargs)[source]¶
Bases:
airflow.models.BaseOperator
SFTPOperator for transferring files from remote host to local or vice a versa. This operator uses ssh_hook to open sftp transport channel that serve as basis for file transfer.
- Parameters
ssh_hook -- predefined ssh_hook to use for remote execution. Either ssh_hook or ssh_conn_id needs to be provided.
ssh_conn_id -- ssh connection id from airflow Connections. ssh_conn_id will be ignored if ssh_hook is provided.
remote_host -- remote host to connect (templated) Nullable. If provided, it will replace the remote_host which was defined in ssh_hook or predefined in the connection of ssh_conn_id.
local_filepath -- local file path to get or put. (templated)
remote_filepath -- remote file path to get or put. (templated)
operation -- specify operation 'get' or 'put', defaults to put
confirm -- specify if the SFTP operation should be confirmed, defaults to True
create_intermediate_dirs --
create missing intermediate directories when copying from remote to local and vice-versa. Default is False.
Example: The following task would copy
file.txt
to the remote host at/tmp/tmp1/tmp2/
while creatingtmp
,``tmp1`` andtmp2
if they don't exist. If the parameter is not passed it would error as the directory does not exist.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 )