# File Nodes

# Node: SFTP

SFTP node is the client that allows to upload, read and list files from SFTP server.

# Properties

# Common Properties

Below properties apply to all operations:

  • Host: (Required). Hostname or IP of the SFTP server.
  • Port: (Required). Port number of the SFTP server.
  • Timeout: (Optional). How long (in ms) to wait for the SSH handshake, default: 20000
  • Keep Alive - when checked the sftp connection will remain opened. This allows multiple sftp calls using the same connection. The last node reusing connection should have this flag unchecked so the sftp connection will be closed.
  • Operation: (Required). Sftp operation: List, Get, Put, Mkdir, Rmdir, Delete, Rename, Chmod.
  • Key Exchange Algorithms: (Optional). list of algorithms to use for key exchange. The list includes:
    • curve25519-sha256
    • curve25519-sha256@libssh.org
    • ecdh-sha2-nistp256
    • ecdh-sha2-nistp384
    • ecdh-sha2-nistp521
    • diffie-hellman-group-exchange-sha1
    • diffie-hellman-group-exchange-sha256
    • diffie-hellman-group1-sha1
    • diffie-hellman-group14-sha1
    • diffie-hellman-group14-sha256
    • diffie-hellman-group16-sha512
    • diffie-hellman-group18-sha512
  • Username: (Required). Username for authenticating with the SFTP server.
  • Password: (Optional). Password for password-based user authentication.
  • PrivateKey: (Optional). PrivateKey for authenticating with the SFTP server.
  • Passphrase: (Optional). Passphrase if the the privatekey is encrypted.

# Operation: List

Returns directory listing.

  • Remote Path: (Required). Remote directory to list content.

# Operation: Get

Returns file from remote path.

  • Remote Path: (Required). Remote path with file name to return.
  • Encoding: (Optional). Default is utf-8. Use null for binary files.

# Operation: Put

Uploads file into remote path.

  • Remote Path: (Required). Remote directory with filename to upload content.
  • Content: (Required). Content to upload
  • Encoding: (Optional). Default is utf-8. Use null for binary files.

# Operation: Mkdir

Create a new directory

  • Remote Path: (Required). Remote directory to create.
  • Recursive: (Optional), default false. If true the directory will be created with all subdirectories if they don't exists.

# Operation: Rmdir

Deletes directory or file

  • Remote Path: (Required). Remote directory or path with filename to create.
  • Recursive: (Optional), default false. If true then the directory, all subdirectories and files will be deleted.

# Operation: Delete

Deletes file

  • Remote Path: (Required). Path with filename to delete.

# Operation: Rename

Renames file or directory

  • Remote Path: (Required). Path to directory or filename to be renamed.
  • Remote Destination Path: (Required). Path to new directory or new filename to be renamed to, must not exist.

# Operation: Chmod

Changes mode (read, write, execute) of remote file or directory

  • Remote Path: (Required). Path to directory or filename to be changed.
  • Mode: (Required). New mode to be set, eg: 0o764 rwx-rw-r.

# Returns

Payload is overwritten by the response from this node. The returned response can be accessed using msg.payload in the subsequent node. Status of SFTP is available under msg.header.sftp.status.

TIP

Setting environment variable KUMOLOGICA_LOGLEVEL to debug will enable detailed logs of sftp communication with target server including handshake details and configuration setup.