AWS S3 Conditionals¶
Conditional Processing or Execution Conditions gives you the power to decide if a particular action on AWS S3 will be executed or not when the workflow is triggered by the incoming event. This is similar to the if-then-else logic applied to the execution of an action based on the attribute from the trigger event of the workflow.
Think of Conditional Processing as equivalent of if-then-else, as decision diamond in the flow chart, or the Conditional Branching in BPEL (Business Process Execution Language).
You can add conditional processing to any action in your workflow and evaluate which actions should be performed in response to a particular trigger event identified by its characteristics or the data attributes. You can apply complex logic using AND, OR and grouping of such conditions. Each of the conditions supports different operators based on the event data type being a string (abc and/or 123), number (123), boolean (true/false) etc. Read here to find more about Conditional Processing.
Example Scenario¶
We will take a scenario where you are using AWS S3 as the trigger application. There could be multiple application actions invoked upon receiving an AWS S3 trigger. Each of the actions in the flow would apply its own execution condition based on the data attributes of the AWS S3 trigger event. This will allow each of the actions to independently choose to execute based on the defined execution conditions.
In this example, the workflow is triggered when a new file is added to the AWS S3 bucket. It has two actions, a MFT action action and then an email sent through Outlook action.
When using AWS S3 as the trigger application, the following attributes will be available to you in all your application actions.
-
Object Name Extension - Extension of the object. For example pdf, txt, etc.
-
Object Creation Time - Time when the object was created
-
Object Name Without Extension - File name without extension. For example, if an object
test.txt
is created or deleted in the bucket. This attribute will filter ontest
-
Object Size - Size of the object in bytes
In Figure 1 below, the action on MFT will only be performed if the Object Name Extension
or file extension is pdf
.
Similarly in Figure 2, in the same workflow, an email from Outlook will only be sent if the file created in AWS S3 bucket has the Object Name
starting with Connect
.