To Trigger a Flow When a New File is Created or Modified
The File, FTP, and SFTP connectors provide a listener (called
On New or Updated file in Studio and Flow Designer UI) that polls a directory for files that have been created or updated. One message is generated for each file that is found.
The key part of this functionality is how to determine that a file is new. There are three strategies for making this determination:
true. This setting deletes each file after it has been processed so that all files found in the next poll will be new.
moveToDirectoryparameter to move each processed file to a different directory after it has been processed. This produces the same effect as
autoDeletebut without losing the file.
watermarkparameter to only pick files that have been created or updated after the last poll was executed.
Using a matcher to filter the files.
Listeners function similarly for the FTP, SFTP, and File connectors. However, the XML element used for them is different:
1 2 3 4 5 6 7 8 9 <flow name="onNewFile"> <ftp:listener config-ref="file" directory="test-data/in" autoDelete="true"> <scheduling-strategy> <fixed-frequency frequency="1000"/> </scheduling-strategy> </ftp:listener> <flow-ref name="processFile" /> </flow>
The FTP connector provides a way of activating or deactivating the watermark. Here is an example:
1 2 3 4 5 6 7 <ftp:listener doc:name="On New File" watermarkEnabled="true" config-ref="FTP_Config"> <scheduling-strategy > <fixed-frequency /> </scheduling-strategy> </ftp:listener>