DataFlex
DataFlex
AWS Transfer for SFTP (Amazon S3)
See more SFTP Examples
Once you've setup your AWS Transfer for SFTP in the AWS Console, interacting with it is no different than any other SSH/SFTP server. AWS will provide a private key in PEM format. It is used for authentication (instead of a password).Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSftp
String sDomain
Integer iPort
Variant vSshKey
Handle hoSshKey
String sKeyText
String sRemoteFilePath
String sLocalFilePath
String sTemp1
Boolean bTemp1
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatSFtp)) To hoSftp
If (Not(IsComObjectCreated(hoSftp))) Begin
Send CreateComObject of hoSftp
End
// Connect to the AWS SFTP server.
// Change the domain to your value.
Move "s-123456df999999fab.server.transfer.eu-west-2.amazonaws.com" To sDomain
Move 22 To iPort
Get ComConnect Of hoSftp sDomain iPort To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
// Load your AWS SFTP private key PEM file..
Get Create (RefClass(cComChilkatSshKey)) To hoSshKey
If (Not(IsComObjectCreated(hoSshKey))) Begin
Send CreateComObject of hoSshKey
End
Get ComLoadText Of hoSshKey "qa_data/pem/s3_sftp_privateKey.pem" To sKeyText
Get ComLastMethodSuccess Of hoSshKey To bTemp1
If (bTemp1 <> True) Begin
Get ComLastErrorText Of hoSshKey To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComFromOpenSshPrivateKey Of hoSshKey sKeyText To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSshKey To sTemp1
Showln sTemp1
Procedure_Return
End
// Authenticate with the SSH server using the private key.
Get pvComObject of hoSshKey to vSshKey
Get ComAuthenticatePk Of hoSftp "myUsername" vSshKey To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
// After authenticating, the SFTP subsystem must be initialized:
Get ComInitializeSftp Of hoSftp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
// Upload from the local file to the SSH server.
// Important -- the remote filepath is the 1st argument,
// the local filepath is the 2nd argument;
Move "hamlet.xml" To sRemoteFilePath
Move "c:/temp/hamlet.xml" To sLocalFilePath
Get ComUploadFileByName Of hoSftp sRemoteFilePath sLocalFilePath To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoSftp To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Success."
End_Procedure