Skip to content

Control Flow Activities

Branching, looping, waiting, and explicit failure.

fabric_data_pipelines.IfCondition

Bases: Activity

Execute activities based on a boolean expression.

Nested activities are passed via if_true_activities / if_false_activities. Dependencies among nested activities are scoped to that branch.

Example::

from fabric_data_pipelines import IfCondition, Wait, Expression, expr

branch = IfCondition(
    name="If_LockNotAcquired",
    expression=Expression(value=expr.not_(expr.equals(...))),
    if_true_activities=[Wait(name="Wait_For_Lock", wait_time_in_seconds=60)],
    if_false_activities=[],
)

fabric_data_pipelines.ForEach

Bases: Activity

Iterate over a collection and run nested activities for each item.

Example::

from fabric_data_pipelines import ForEach, Copy, Expression, expr

loop = ForEach(
    name="for_each_table",
    items=Expression(value=expr.activity_output("get_tables", "value")),
    activities=[Copy(name="copy_one", source=..., sink=...)],
    is_sequential=True,
)

fabric_data_pipelines.Switch

Bases: Activity

Execute different activity lists based on an expression value.

Example::

from fabric_data_pipelines import Switch, SwitchCase, Expression, Fail

switch = Switch(
    name="by_mode",
    on=Expression(value=expr.parameter("mode")),
    cases=[
        SwitchCase(value="full", activities=[...]),
        SwitchCase(value="partial", activities=[...]),
    ],
    default_activities=[Fail(name="bad_mode", message="unknown", error_code="1")],
)

fabric_data_pipelines.SwitchCase

Bases: FabricModel

A single case branch inside a Switch activity.

Example::

SwitchCase(value="full", activities=[...])

fabric_data_pipelines.Until

Bases: Activity

Repeat nested activities until an expression evaluates to true.

Example::

from fabric_data_pipelines import Until, Script, Expression

until = Until(
    name="Until_TryAcquireLock",
    expression=Expression(value="@equals(...)"),
    timeout="02:00:00",
    activities=[script, if_condition],
)

fabric_data_pipelines.Wait

Bases: Activity

Pause pipeline execution for a number of seconds.

Wait activities do not carry a policy block in Fabric UI exports.

Example::

from fabric_data_pipelines import Wait

Wait(name="Wait_For_Lock", wait_time_in_seconds=60)

fabric_data_pipelines.Fail

Bases: Activity

Explicitly fail the pipeline with a message and error code.

Example::

from fabric_data_pipelines import Fail

Fail(name="abort", message="Lock not acquired", error_code="LockTimeout")