Batching with Azure Logic Apps
With Logic Apps you can debatch an incoming message using the SplitOn feature on a trigger action. You can also do the opposite, by batching several incoming messages together. The batching requires two processes:
- Batch ingestion: process responsible for queueing messages in a specific batch.
- Batch release: process responsible for dequeuing the messages from a specific batch, when a particular condition is met such as a number of messages or an external trigger.
With Logic Apps you start with the batch release process. You create a Logic App, which you reference in the other Logic App responsible for ingestion. The Logic App accountable for the release starts with a trigger – you provide a name, condition and choose the batch mode (inline, or integration account).
Next, you create a Logic App for the ingestion of data to inject messages into a batch. In this Logic App you specify the trigger you require to receive or retrieve the messages and select the batch action. In action you specify a name, the content, trigger name, and workflow.
Additionally, you can add a message identifier parameter, or a partition parameter to specify a “sub-batch” within the batch.
An alternative to using a Logic App for batching is an Azure Function. See the Logic Apps Batching blog post for example.
Watch this episode from Middleware Friday series: