You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-5Lines changed: 9 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -90,39 +90,43 @@ and the JSONata expression `Phone.{type: number}`, an object constructor, the ac
90
90
```Split Property``` - use this field to choose a separator.
91
91
92
92
### Re-assemble Messages
93
-
**(Beta)**
94
93
95
94
Inverse of the split action: Given a stream of incoming messages a sum message is generated.
96
95
Has 3 different behaviour variants:
97
96
* Only specify group size and no delay timer. A message is emitted once the group size is reached for the given group. Should less message then the given group size arrive, then the group is silently discarded.
98
97
* Only specify delay timer and no group size. All incomming messages count towards the delay timer. Once no more message is received in this time frame there will be a emitted message for each group.
99
98
* Specify both group size and delay timer. Groups that have reached their limit are emitted directly. Beyond that the action behaves as specifed in the line before.
99
+
100
100
Supported:
101
101
* Messages can be re-ordered in the flow
102
102
* If messages are re-delivered as a result of the platform's at once delivery guarantee, does not trigger false positives
103
103
* Messages from one original message can be interleaved with messages from another original message
104
104
(e.g. Two overlapping webhook calls arrive and the flow has components where parallel processing > 1.)
105
+
105
106
Limitations:
106
107
* All groups must have one or more messages. (i.e. No groups of size 0).
107
-
Can't do re-grouping when a split is done on an empty array. (i.e. No empty for each pattern supported)
108
-
* If all messages in a group fail to arrive at the re-assemble action (because one message suffered an error earlier in the flow)
109
-
then this component will silently discard the group.
108
+
Can't do re-grouping when a split is done on an empty array. (i.e. No empty for each pattern supported).
110
109
* All messages must arrive within the same container lifetime.
111
110
If at any point there is more than a 15 second gap in messages, then the group will be silently discarded.
112
111
* The group is dropped if there are any unexpected restarts to the container.
113
112
* In case only a groupSize is given and no delay timer is specified. The size of the group must be known by all group members.
114
113
* In case of using the delay timer. Messages are only emitted when all parts arrive. Emitting a message only when the first part arrives isn't supported.
115
114
* The delay timer can not exceed 40,000 milliseconds. If more than this maximum is given, then this maximum will be used instead.
115
+
116
116
#### List of Expected Config fields
117
117
```groupId``` - Globally unique id for the group to distinguish it from other groups. This value needs to be the same for all messages in a group.
118
+
118
119
```messageId``` - Id for a message to distinguish it from other messages in the group.
119
120
Must be unique per group but does not have to be globally unique. This value needs to be different for all messages in a group.
121
+
120
122
```messageData``` - Data from individual messages can be inserted here in form of an object. This object is then inserted into an array which is available in the message emitted for this group.
123
+
121
124
```groupSize``` - Number of messages in the group.
125
+
122
126
```Delay timer (in ms)``` - Time the process waits when no incoming messages before emiting (Max 40,000 milliseconds)
123
127
124
128
## Known limitations (common for the component)
125
-
No.
129
+
None.
126
130
127
131
## Documentation links
128
132
More information and some examples can be found here: [Splitter documentation](https://www.elastic.io/connectors/splitter-integration/).
0 commit comments