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
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
Separate manual saves and autosaves in Power BI version history
Power BI version history currently combines manual saves and autosaves within the same five-version limit. Please provide separate limits, for example, five manual saves and five autosa...KrystianPowerBI2 hours agoFrequent VisitorNew3Views0likes0CommentsAdd Native “Is In List” Filter Option in Power BI
Power BI currently lacks a simple way to filter a column by checking if its value exists in a predefined list, similar to SQL’s WHERE column IN (list) or Excel’s “is in list” logic. Problem: Users...Jugi2 hours agoMicrosoft EmployeeNew4Views0likes0CommentsPower BI PDF Export Should Include All Data, Not Only Visible Content
a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; } Currently, when exporting a Power BI report to PDF, only the content vis...Naima15 hours agoNew MemberNew8Views0likes0CommentsImprove Capacity and Workspace Organization in Microsoft Fabric
Dear microsoft Fabric Team, I would like to suggest enhancements that would make it easier for administrators and users to organize and manage their Microsoft Fabric environments. 1. Better Separat...Naima16 hours agoNew MemberNew4Views0likes0CommentsPreserve Custom Theme Fonts in PDF Export
When a Power BI report uses a custom font through a theme (for example, Inter), the font displays correctly within Power BI but is replaced with a default font when exporting the report to PDF. This ...swetha127 hours agoMicrosoft EmployeeNew55Views18likes0Comments