class_docstr: Interact with SFTP.
  
  This hook inherits the SSH hook. Please refer to SSH hook for the input
  arguments.
  
  :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".
  
  :param ssh_conn_id: The :ref:`sftp connection id<howto/connection:sftp>`
  :param ssh_hook: Optional SSH hook (included to support passing of an SSH hook to the SFTP operator)
class_docstr_tok: ["Interact","with","SFTP",".","This","hook","inherits","the","SSH","hook",".","Please","refer","to","SSH","hook","for","the","input","arguments",".",":","Pitfalls",":",":","-","In","contrast","with","FTPHook","describe_directory","only","returns","size",",","type","and","modify",".","It","does","n'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","''",".",":","param","ssh_conn_id",":","The",":","ref",":","`","sftp","connection","id","<","howto\/connection",":","sftp",">","`",":","param","ssh_hook",":","Optional","SSH","hook","(","included","to","support","passing","of","an","SSH","hook","to","the","SFTP","operator",")"]
docstr: Transfer 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
  :param local_full_path: full path to the local file
docstr_tok: ["Transfer","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",":","param","local_full_path",":","full","path","to","the","local","file"]
code: def store_file(
      self,
      remote_full_path: str,
      local_full_path: str,
      confirm: bool = True,
  ) -> None:
      """Transfer 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
      :param local_full_path: full path to the local file
      """
      conn = self.get_conn()
      conn.put(local_full_path, remote_full_path, confirm=confirm)
  
imports: from __future__ import annotations
  import datetime
  import os
  import stat
  import warnings
  from fnmatch import fnmatch
  from typing import TYPE_CHECKING, Any, Callable
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
  from airflow.providers.ssh.hooks.ssh import SSHHook
label_desc: Use image node_id 13 for calling the SFTPHook obj's underlying member method code with example usage: obj.store_file(remote_full_path, local_full_path, confirm) without return types