blob: 1d9ef00fde611f9af5cb5d88a0052c519315dbf6 [file] [log] [blame]
:mod:`airflow.contrib.hooks.sftp_hook`
======================================
.. py:module:: airflow.contrib.hooks.sftp_hook
Module Contents
---------------
.. py:class:: SFTPHook(ftp_conn_id='sftp_default', *args, **kwargs)
Bases: :class:`airflow.contrib.hooks.ssh_hook.SSHHook`
This hook is inherited from SSH hook. Please refer to SSH hook for the input
arguments.
Interact with SFTP. Aims to be interchangeable with FTPHook.
: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.
.. method:: get_conn(self)
Returns an SFTP connection object
.. method:: close_conn(self)
Closes the connection. An error will occur if the
connection wasnt ever opened.
.. method:: describe_directory(self, path)
Returns a dictionary of {filename: {attributes}} for all files
on the remote system (where the MLSD command is supported).
:param path: full path to the remote directory
:type path: str
.. method:: list_directory(self, path)
Returns a list of files on the remote system.
:param path: full path to the remote directory to list
:type path: str
.. method:: create_directory(self, path, mode=777)
Creates a directory on the remote system.
:param path: full path to the remote directory to create
:type path: str
:param mode: int representation of octal mode for directory
.. method:: delete_directory(self, path)
Deletes a directory on the remote system.
:param path: full path to the remote directory to delete
:type path: str
.. method:: retrieve_file(self, remote_full_path, local_full_path)
Transfers the remote file to a local location.
If local_full_path is a string path, the file will be put
at that location
:param remote_full_path: full path to the remote file
:type remote_full_path: str
:param local_full_path: full path to the local file
:type local_full_path: str
.. method:: store_file(self, remote_full_path, local_full_path)
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
:param remote_full_path: full path to the remote file
:type remote_full_path: str
:param local_full_path: full path to the local file
:type local_full_path: str
.. method:: delete_file(self, path)
Removes a file on the FTP Server
:param path: full path to the remote file
:type path: str
.. method:: get_mod_time(self, path)
.. method:: path_exists(self, path)
Returns True if a remote entity exists
:param path: full path to the remote file or directory
:type path: str