SFTPOperator

SFTP

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.

View Source

Last Updated: Apr. 25, 2021

Access Instructions

Install the SFTP provider package into your Airflow environment.

Import the module into your DAG file and instantiate it with your desired params.

Parameters

ssh_hookairflow.providers.ssh.hooks.ssh.SSHHookpredefined ssh_hook to use for remote execution. Either ssh_hook or ssh_conn_id needs to be provided.
ssh_conn_idstrconnection id from airflow Connections. ssh_conn_id will be ignored if ssh_hook is provided.
remote_hoststrremote 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_filepathstrlocal file path to get or put. (templated)
remote_filepathstrremote file path to get or put. (templated)
operationstrspecify operation 'get' or 'put', defaults to put
confirmboolspecify if the SFTP operation should be confirmed, defaults to True
create_intermediate_dirsboolcreate 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 creating tmp,``tmp1`` and tmp2 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 )

Documentation

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.

Example DAGs

Improve this module by creating an example DAG.

View Source
  1. Add an `example_dags` directory to the top-level source of the provider package with an empty `__init__.py` file.
  2. Add your DAG to this directory. Be sure to include a well-written and descriptive docstring
  3. Create a pull request against the source code. Once the package gets released, your DAG will show up on the Registry.

Was this page helpful?