: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)