Forum Discussion

agent09's avatar
agent09
New Contributor II
3 years ago

Business Rule for SFTP

Hi - we're trying to PULL files from an SFTP server. These will be used for our OneStream load.

Are there any sample BRs that we can reference to facilitate the file transfer from the SFTP server to OneStream? Are there libraries readily available in OS for this?

 


So far, we have completed the following.

1. Whitelisting of OS IP from SFTP Server

2. Received SFTP server and credentials needed

 

Thanks!

  • NicolasArgente's avatar
    NicolasArgente
    Valued Contributor

    https://winscp.net/eng/docs/library#vbnet

     

    Imports WinSCP
     
    Friend Class Example
     
        Public Shared Function Main() As Integer
     
            Try
                ' Setup session options
                Dim sessionOptions As New SessionOptions
                With sessionOptions
                    .Protocol = Protocol.Sftp
                    .HostName = "example.com"
                    .UserName = "user"
                    .Password = "mypassword"
                    .SshHostKeyFingerprint = "ssh-rsa 2048 xxxxxxxxxxx..."
                End With
     
                Using session As New Session
                    ' Connect
                    session.Open(sessionOptions)
     
                    ' Upload files
                    Dim transferOptions As New TransferOptions
                    transferOptions.TransferMode = TransferMode.Binary
     
                    Dim transferResult As TransferOperationResult
                    transferResult =
                        session.PutFiles("d:\toupload\*", "/home/user/", False, transferOptions)
     
                    ' Throw on any error
                    transferResult.Check()
     
                    ' Print results
                    For Each transfer In transferResult.Transfers
                        Console.WriteLine("Upload of {0} succeeded", transfer.FileName)
                    Next
                End Using
     
                Return 0
            Catch e As Exception
                Console.WriteLine("Error: {0}", e)
                Return 1
            End Try
     
        End Function
     
    End Class
    • Tom's avatar
      Tom
      New Contributor III

      What type of business Rule did you use, I don't see namespace there.

      Thanks

      • NicolasArgente's avatar
        NicolasArgente
        Valued Contributor

        Hi Tom, It was  extender BR. Do not forget to reference it your assemblies... (I have done that a while ago)