A national museum network has twelve branch locations, and the loan-tracking pipeline needs to run the same copy-and-notebook sequence once per branch every night, pulling each branch's own loan data by branch code. Building and maintaining twelve nearly identical pipelines is proving painful. What orchestration pattern reduces this to one pipeline?
Select an answer to reveal the explanation.
Short Explanation
Twelve nearly-identical pipelines is a maintenance headache waiting to happen — fix one bug and you have to remember to fix it eleven more times. Give the pipeline a branch-code parameter, wrap the copy-and-notebook sequence in a ForEach activity, and loop over the list of branches instead. One pipeline, one place to fix things.
Full Explanation
A pipeline parameter lets the same pipeline definition run with a different value each time, and a ForEach activity iterates that parameterized logic over a collection — here, the list of twelve branch codes — running the copy-and-notebook sequence once per item without duplicating any pipeline objects. This collapses twelve maintenance surfaces into one: a schema change or a bug fix only has to happen in a single place. Hardcoding all twelve branch codes as separate Copy activities inside one pipeline avoids duplicate pipelines but still means twelve near-identical activities to maintain, update, and monitor individually, with no real reduction in effort. Duplicating the pipeline twelve times is precisely the pain point described, and manual updates across twelve copies is exactly the kind of drift that produces one branch quietly running stale logic. Storing branch codes as a comment does nothing functionally; a pipeline description is documentation, not an execution mechanism, and the loop still wouldn't exist. The caveat: ForEach activities have a batch-count setting controlling how many iterations run in parallel, which matters for throughput and for not overwhelming a shared source system. A concrete check: run the pipeline once and confirm the Monitoring hub shows twelve child iterations, one per branch code, inside the single ForEach activity.