2.5.2. Schedules and Event-Based Triggers
💡 First Principle: Triggers determine when pipelines execute. Schedule triggers are like alarm clocks (run at specific times); event triggers are like motion sensors (run when something happens). Choose based on whether your process is time-driven or event-driven.
Scenario: Financial reports must run daily at 2 AM (schedule trigger). A data processing pipeline should run whenever new files arrive in the data lake (event trigger).
Trigger Types
| Trigger Type | Use Case | Example |
|---|---|---|
| Schedule | Time-based execution | Daily at 2 AM, hourly |
| Interval-based schedule (preview) | Fixed, non-overlapping time windows; exposes Window start time / Window end time trigger parameters | Process each hour's data as its own slice |
| Storage Event | React to file changes | New file in data lake |
| Custom Event | Application events sent to an Azure Event Grid namespace; an eventstream brings them in and an Activator rule runs the pipeline | 'order-finalized' message from an app |
Fixed schedules run by the minute, hourly, daily, weekly (tick specific weekdays, e.g. Mon–Fri at 06:00, in one schedule) or monthly, with a start/end date and time zone. One pipeline can have up to 20 schedules, and each can pass parameter values. Event triggers are added with the pipeline's Trigger button and run on Activator (a Reflex item). They respond to OneLake or Azure Blob Storage file events, job events and workspace events, and the file name reaches the pipeline as @pipeline()?.TriggerEvent?.FileName.
⚠️ Exam Trap: Fabric pipelines have no tumbling window trigger. Azure Data Factory's tumbling window is only partly reproduced by the interval-based schedule, which creates the time slices but can't backfill yet. Missed runs are not caught up: runs that fall while a schedule is off are skipped. To catch up, run a parameterized pipeline with a ForEach over the missed date windows and record processed windows in a watermark/control table. For a simple daily run, use a fixed schedule. Don't over-engineer.