SftpEx
An Elixir wrapper around the Erlang SFTP application. This allows for the use of Elixir Streams to transfer files via SFTP.
Example usage:
An example of writing a file to a server is the following.
stream = File.stream!("filename.txt")
|> Stream.into(SftpEx.stream!(connection,"/home/path/filename.txt"))
|> Stream.run
This follows the same pattern as Elixir IO streams so a file can be transferred from one server to another via SFTP as follows.
stream = SftpEx.stream!(connection,"/home/path/filename.txt")
|> Stream.into(SftpEx.stream!(connection2,"/home/path/filename.txt"))
|> Stream.run
SftpEx.stream!(connection,”test2.csv”) |> Stream.into(File.stream!(“filename.txt”)) |> Stream.run
Installation
If available in Hex, the package can be installed as:
Add
sftp_ex
to your list of dependencies inmix.exs
:def deps do [{:sftp_ex, "~> 0.2.0"}] end
Ensure
sftp_ex
is started before your application:def application do [applications: [:sftp_ex]] end