Split Array Message
Use this node to fan out a batch payload into individual messages — for example, splitting a bulk telemetry upload that contains an array of readings into one message per reading, each routed independently through the rest of the rule chain. The message originator, type, and metadata are preserved on every split message.
Configuration
Section titled “Configuration”This node has no configuration options.
Message processing algorithm
Section titled “Message processing algorithm”- Inspect the incoming message data and verify it is a JSON array. If not, route via
Failure. - If the array is empty, acknowledge the original message and produce no output messages.
- For each element in the array, create a new message with:
- Data: the array element.
- Originator, message type, and metadata: copied from the original message.
- Enqueue all created messages and route them via
Success. - Acknowledge the original message once all split messages have been successfully enqueued.
Output connections
Section titled “Output connections”| Connection | Condition |
|---|---|
Success | One message emitted per array element (zero messages if array is empty). |
Failure | Incoming message data is not a JSON array. |
Examples
Section titled “Examples”Example 1 — Split array of objects
Section titled “Example 1 — Split array of objects”Incoming data: [{ "sensor": "A", "temperature": 22.5 }, { "sensor": "B", "temperature": 23.1 }]
Result: two output messages:
- Data:
{ "sensor": "A", "temperature": 22.5 } - Data:
{ "sensor": "B", "temperature": 23.1 }
Example 2 — Empty array — no output
Section titled “Example 2 — Empty array — no output”Incoming data: []
Result: original message acknowledged, zero output messages produced.
Example 3 — Not an array → Failure
Section titled “Example 3 — Not an array → Failure”Incoming data: { "status": "error", "code": 500 }
Result: routes via Failure — JSON object is not an array.
JSON schema
Section titled “JSON schema”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "EmptyNodeConfiguration", "type": "object", "properties": {}, "additionalProperties": false}