Splits a single message into several separate messages.
You have the following incoming message:
{
"FirstName": "Fred",
"Surname": "Smith",
"Phone": [
{
"type": "home",
"number": "0203 544 1234"
},
{
"type": "office",
"number": "01962 001234"
},
{
"type": "mobile",
"number": "077 7700 1234"
}
]
}
If the JSONata expression is set to Phone.{type: number}
, you will get three messages:
{
"home": "0203 544 1234"
}
{
"office": "01962 001234"
}
{
"mobile": "077 7700 1234"
}
Each item of the array will be emitted as a separate message.
Combines separate messages into one.
Group on fixed amount of messages
- Messages keeps collecting continuously. Once the group size is reached, the group is emitted and the new group starts collecting immediately. If the number of incoming messages for a particular group is less than the defined group size, the group will be stored in the internal storage (Maester) and proceed collecting messages into the open group.Group on timeout
- All incoming messages will be gathered until there are no more incoming messages within the specified timeframe (delay timer), at which point messages will be emitted for each group.Group on amount of messages or timeout
- Specify both group size and delay timer. Once a group is complete, that group will be emitted. If there are no more incoming messages within the specified timeframe, partially completed groups will also be emitted.messageData
in the response object will be an array of messages without message IDs. {
"groupSize": 2,
"groupId": "test22",
"messageData": {
"d899b000-5455-4c7a-9781-f16203426b93": {
"dataFromMessage": "Message1"
},
"bdfca2b1-7aa7-444c-916d-3a2c17fc5dd6": {
"dataFromMessage": "Message2"
}
}
}
{
"groupSize": 2,
"groupId": "test22",
"messageData": [
{
"dataFromMessage": "Message1"
},
{
"dataFromMessage": "Message2"
}
]
}
If Group on fixed amount of messages
or Group on amount of messages or timeout
is selected:
If Group on timeout
or Group on amount of messages or timeout
is selected:
Emit result as array
is selected, this will be an array of messages from previous steps; otherwise, it will be an object with keys as Unique ID to describe this message
and values as messages from previous steps.Produce Groups of Fixed Size (Don't Emit Partial Groups)
if group is not ready, messages will be stored inside internal storage (Maester) for up to two daysClick here to learn more about the elastic.io iPaaS