Skip to main content
Version: Next

Array Iterator

Turns one message carrying an array into many messages carrying one item each, so every item travels the rest of the graph independently.

Type: split · Category: Transform · Ports: one input · one output

The Array Iterator node as it appears on the pipeline canvas.The Array Iterator node as it appears on the pipeline canvas.

When to use it

  • One outbound API call, or one write, per row of a result set
  • Per-item branching where some items should take a different path
  • Feeding a node that only understands a single object
Reach for something else when

If you are only reshaping the items, Batch Transform is far cheaper — 40 messages through five nodes is 200 node executions against 40 for a batch.

Example — one call per row

SQL (SELECT 40 rows) → Array Iterator → REST API (egress, POST one order) → Join

In

{ "payload": [ { "id": 1 }, { "id": 2 }, { "id": 3 } ] }

Out — three separate messages:

{ "payload": { "id": 1 } }
{ "payload": { "id": 2 } }
{ "payload": { "id": 3 } }

Gotchas

  • Pair it with Join if anything downstream needs the whole set back.
  • Filtering between the split and the join will hang the join, which is waiting for a count it was told to expect. Filter before the split.

See also