Syncplify.me MFT! has just reached “beta.1” stage. This is a major milestone for us, because all alpha versions only supported the SFTP protocol (useful to crystallize the functionalities) but this is the first version that also adds support for AWS S3, Azure Blob Storage, and Google Cloud Storage.
The “beauty” of MFT! stems from the fact that you can basically utilize the exact same script logic independently of the storage platform. Literally the only difference is the connection properties to the back-end platform, because that’s – obviously – dependent on which storage you use.
But since an example is worth more than a thousand words… here’s a simple script that lists a directory and uploads some files to S3:
{ ConsoleFeedback = true; var cli = new S3Client(); cli.Region = 'us-east-1'; cli.Bucket = 'somebuckettest'; cli.APIKeyID = 'put your own APIKeyID here'; cli.APIKeySecret = 'put your own APIKeySecret here'; cli.Options.UploadPolicy = NeverOverwrite; cli.UseMetadataWhenListing = true; if (cli.Connect()) { dirList = cli.ListFilesR('/', '*.txt'); for (var i = 0; i < dirList.length; i++) { console.log(JSON.stringify(dirList[i])); } cli.Upload('Z:\\Archives\\*.rar', '/testfolder'); cli.Close(); } cli = null }
And here’s the same script, but using an Azure back-end:
{ ConsoleFeedback = true; var cli = new AzureClient(); cli.Container = 'yourcontainername'; cli.AccountName = 'put your account name here'; cli.AccountKey = 'put your account key here'; cli.Options.UploadPolicy = NeverOverwrite; cli.UseMetadataWhenListing = true; if (cli.Connect()) { dirList = cli.ListFilesR('/', '*.txt'); for (var i = 0; i < dirList.length; i++) { console.log(JSON.stringify(dirList[i])); } cli.Upload('Z:\\Archives\\*.rar', '/testfolder'); cli.Close(); } cli = null }
Finally, here’s the same script, using a Google Cloud Storage back-end:
{ ConsoleFeedback = true; var cli = new GCSClient(); cli.Bucket = 'yourbucketname'; cli.CredentialsFile = './StorageCredentials.json'; cli.Options.UploadPolicy = NeverOverwrite; cli.UseMetadataWhenListing = true; if (cli.Connect()) { dirList = cli.ListFilesR('/', '*.txt'); for (var i = 0; i < dirList.length; i++) { console.log(JSON.stringify(dirList[i])); } cli.Upload('Z:\\Archives\\*.rar', '/testfolder'); cli.Close(); } cli = null }
As you can see, the only lines that are different (highlighted in the scripts here above) are the lines you use to configure the connection to your back-end; aside from that, all 3 scripts are identical!
This allows you to write your scripts once, and run them on any supported back-end platform with practically no changes!
You can also find the full Syncplify.me MFT! manual online at this URL: https://mfthelp.syncplify.me/
Now we really need your help to test it, find bugs, shared your most desired features, tell us how to improve… we strive to make Syncplify.me MFT! a tool that you truly wish to blend into your daily workflow.
Thank you!