airflow.providers.sftp.hooks.sftp
¶
This module contains SFTP hook.
Module Contents¶
Classes¶
This hook is inherited from SSH hook. Please refer to SSH hook for the input |
- class airflow.providers.sftp.hooks.sftp.SFTPHook(ssh_conn_id='sftp_default', *args, **kwargs)[source]¶
Bases:
airflow.providers.ssh.hooks.ssh.SSHHook
This hook is inherited from SSH hook. Please refer to SSH hook for the input arguments.
Interact with SFTP.
- Pitfalls:
In contrast with FTPHook describe_directory only returns size, type and modify. It doesn't return unix.owner, unix.mode, perm, unix.group and unique.
- retrieve_file and store_file only take a local full path and not a
buffer.
If no mode is passed to create_directory it will be created with 777 permissions.
Errors that may occur throughout but should be handled downstream.
For consistency reasons with SSHHook, the preferred parameter is "ssh_conn_id". Please note that it is still possible to use the parameter "ftp_conn_id" to initialize the hook, but it will be removed in future Airflow versions.
- Parameters
ssh_conn_id (Optional[str]) -- The sftp connection id
(Outdated) (ftp_conn_id) -- The sftp connection id
- describe_directory(self, path)[source]¶
Returns a dictionary of {filename: {attributes}} for all files on the remote system (where the MLSD command is supported).
- Parameters
path (str) -- full path to the remote directory
- list_directory(self, path)[source]¶
Returns a list of files on the remote system.
- Parameters
path (str) -- full path to the remote directory to list
- delete_directory(self, path)[source]¶
Deletes a directory on the remote system.
- Parameters
path (str) -- full path to the remote directory to delete
- retrieve_file(self, remote_full_path, local_full_path)[source]¶
Transfers the remote file to a local location. If local_full_path is a string path, the file will be put at that location
- store_file(self, remote_full_path, local_full_path)[source]¶
Transfers a local file to the remote location. If local_full_path_or_buffer is a string path, the file will be read from that location
- delete_file(self, path)[source]¶
Removes a file on the FTP Server
- Parameters
path (str) -- full path to the remote file
- get_mod_time(self, path)[source]¶
Returns modification time.
- Parameters
path (str) -- full path to the remote file
- path_exists(self, path)[source]¶
Returns True if a remote entity exists
- Parameters
path (str) -- full path to the remote file or directory
- get_tree_map(self, path, prefix=None, delimiter=None)[source]¶
Return tuple with recursive lists of files, directories and unknown paths from given path. It is possible to filter results by giving prefix and/or delimiter parameters.
- Parameters
- Returns
tuple with list of files, dirs and unknown items
- Return type