Currently, a single completed OneLake file can generate duplicate events and trigger the downstream Fabric pipeline multiple times.
Filtering on data.api = FlushWithClose helps identify completed file writes, but it does not guarantee exactly-once delivery. The recommended workaround requires every pipeline to implement event claiming, deduplication, status tracking, concurrency handling, and idempotent processing.
This creates significant complexity for a basic event-driven ingestion scenario, particularly when many files or pipelines are involved.
Expected behavior: One completed file → One valid event → One pipeline execution
Please provide one of the following:
- A built-in deduplication option for OneLake events
- An exactly-once trigger mode
- A unique, stable deduplication key with native pipeline support
- A configurable option to trigger only once for each finalized file
This enhancement would simplify event-driven ingestion, reduce unnecessary pipeline executions, and improve scalability.
1 Comment
- mahadev93New Member
Fabric could provide an optional Exactly-once per file mode for OneLake event-based triggers.
When enabled, Fabric could:
- Continue monitoring Microsoft.Fabric.OneLake.FileCreated.
- Wait for the final file operation, such as data.api = FlushWithClose.
- Internally deduplicate repeated deliveries using the CloudEvent source + id.
- Optionally deduplicate file operations using the OneLake path together with the file version or ETag.
- Trigger the destination pipeline only once for that completed file version.
- Maintain the deduplication state for at least the event retry period.
The trigger configuration could offer two delivery modes:
- At-least-once, current behavior
- Exactly-once per completed file, managed by Fabric
Fabric could also expose the deduplication result in monitoring, for example:
- Event received
- Duplicate event suppressed
- Pipeline triggered
- Delivery or processing failed
This would reduce the need for every customer to build a separate control table, locking mechanism, and idempotency logic in each downstream pipeline. Duplicate Event-Based Triggers for Same OneLake File Despite Filtering on data.api = FlushWithClose | Microsoft Fabric Community
Recent ideas
Support Service Principal for T‑SQL Notebook Execution
Make T‑SQL notebook execution fully compatible with Service Principals by removing or replacing internal OBO calls that reject SPNs. When pipelines or automated runs execute Fabric notebooks usin...garddolau9 hours agoAdvocate IVNew284Views10likes1CommentDeployment pipeline: Deployment rules for Direct Lake on OneLake semantic models
Currently, it is not possible to use deployment rules with Direct Lake on OneLake semantic models. The option is greyed out. Please enable this, so we can automatically change the data so...frithjof_v9 hours agoCommunity ChampionNew6.3KViews149likes19CommentsExpose Real-Time (KQL) Dashboard Usage Through Activity Events and Audit Logs
Microsoft Fabric currently inventories Real-Time (KQL) Dashboards, allowing administrators to discover and manage them through inventory metadata and workspace scanning. However, there is no correspo...KimY13 hours agoFrequent VisitorNew5Views0likes0CommentsNative Git Integration in Power BI Desktop using PowerShell (Developer Mode for PBIP projects)
With the introduction of the PBIP (Power BI Project) format, Power BI has taken a huge step toward modern development workflows, including proper version control and CI/CD practices. However, today ...matheusmg_2013 hours agoNew MemberNew547Views3likes1Comment