How to Download Newly Added Files from an AWS S3 Folder
Organizations with hybrid infrastructures consisting of cloud-based and on-premise solutions will usually need the ability to conduct automated data transfers between these two domains. JSCAPE MFT Server's extensive cloud integration features can be a big help in meeting this requirement. In this particular example, we're going to demonstrate how easy it is to set up MFT Server to monitor a folder in an Amazon S3 bucket and automatically download each file added there.
Watch the video
Would you prefer to watch a video version of this tutorial instead? You can play the video below. Otherwise, just skip it if you wish to continue reading.
I'll be assuming you already have an Amazon S3 trading partner object in your JSCAPE MFT Server instance. If you don't have one yet, I suggest you read the post 'How To Connect and Upload Files To an Amazon S3 Trading Partner' or watch the video in that post. In this example, our S3 trading partner is named 'tp-s3'.
Once you've got your Amazon S3 trading partner, the next step is to create a Directory Monitor that would monitor a AWS S3 folder on that trading partner for newly added files. To do that, just go to the Directory Monitors module and click the Add button.
Give the directory monitor a name, say for example, 'dm-s3'.
After that, tick the Use trading partner checkbox and select the name of your existing S3 trading partner from the drop down list. In our case, that would be 'tp-s3'.
Next, go the Directory field and enter the path to the AWS S3 folder you want to monitor. So, for example, I have an S3 bucket named 'jscapejohn' and a folder named 'folder1' inside that bucket, and that's the folder I want to monitor, so I enter:
jscapejohn/folder1
If you just need to monitor this particular folder and none of the subfolders underneath it, just untick the Monitor recursively checkbox.
In the Settings panel, you'll see a checkbox labeled Monitor interval. That's the regular period of time in seconds that MFT Server will go in and check to see if a new file has been added to this monitored directory. You may want to adjust that to suit your specific requirements.
Lastly, because we just want to monitor this directory for newly added files (and not for file changes, file deletions, and aged files), we just leave the Monitor file add checkbox ticked.
As soon as you're done, click the OK button.
In the Directory Monitors tab, you'll see your newly created directory monitor.
Now that we have directory monitor for monitoring a folder in our S3 bucket, the next thing we need to do is create a trigger that would automatically download each newly added file that's detected by the directory monitor.
Go to the Triggers module and click the Add button.
Give the trigger a name, say, 'download new s3 files', give it a suitable description (something that will give other server admins an idea what this particular trigger does), and select Directory Monitor File Added from the Event type drop-down list.
Once you're done, click Next.
In the Trigger Conditions dialog, one of the things you'll want to specify is the name of the directory monitor. This is important because, in a production MFT Server instance, there's going to be a really good chance you'll have multiple directory monitors running simultaneously. You don't want this trigger responding to every single Directory Monitor File Added event thrown out there.
To specify a monitor name, just click the Variables button and select the MonitorName variable (or you can enter that directly in the expression box) and then enter an expression similar to the one you see below:
MonitorName = "dm-s3"
Click Next to proceed.
In the succeeding screen, click the Add button and select Trading Partner File Download from the drop-down list. Click OK to proceed.
Once you're inside the trigger action parameters dialog, expand the Partner drop-down list and select your S3 trading partner.
In the Remote File field, enter the %File% variable (or click the Add Variable button and select that variable from the list). Each time this trigger will fire, which will happen each time a file is added to the monitored directory, the path of that file will be entered into the %File% variable. Thus, MFT Server will know from that variable which file to download.
To specify where the file will be stored locally after download, enter the path of the local destination directory and append to that the %Name% variable. This variable simply contains the filename of the downloaded file.
Once you're done, click the OK button.
That's it. Now you know how to configure JSCAPE MFT Server to monitor an Amazon S3 bucket folder and download each newly added file.
Try this yourself
Would you like to try this yourself?
JSCAPE MFT Server comes with strong authentication, data-at-rest encryption, data loss prevention (DLP), malware protection, high availability, and many more features. A file transfer solution with extensive security capabilities will make it easier for you to meet stringent security policies and regulatory compliance requirements.
Request a risk-free trial to evaluate JSCAPE in your own environment.