Fabric RTI 101: Using Update Policies to Transform Data

Fabric RTI 101: Using Update Policies to Transform Data

Update policies in KQL (and thus in Fabric) are a mechanism to automatically transform ingested data as it arrives.

Rather than separately ingesting raw data and then running background jobs to clean, route, or enrich it, an update policy allows you to declare a transformation query that runs whenever new data lands in a source table.

The transformation query writes its output into a target table. The source and target must exist in the same database. The schema (column types and order) of the transformation output must match what the target table expects.

One important option is transactional update policies: when IsTransactional = true, the system ensures that either both source ingest and target writes succeed together or neither does. This helps maintain consistency between tables. Update policies are especially helpful in patterns like medallion architecture (bronze → silver → gold). For example, raw data lands in a bronze table; an update policy transforms it into a cleaned/enriched silver table; then further policies could generate gold tables.

Using Update Policies to Transform Data

They can also be used for data routing. Suppose messages in a raw table are of different types (telemetry, alarms, error logs). Multiple update policies can filter and route subsets of the raw data into different target tables (e.g., only alarms go to the alarms table) without needing separate orchestration.

Some caveats to keep in mind:

  • The update policy query has limitations: it cannot perform cross-cluster queries, cannot access external tables, and cannot make external callouts.
  • If your transformation query references other databases, you must use a managed identity in the update policy to grant it proper access.
  • Performance impact: each ingestion triggers the policy, so if many target tables or expensive queries are involved, ingestion cost increases.
  • Be careful with streaming ingestion policies: some joins or transformations may not be allowed when streaming ingestion is enabled; in some cases you may need to disable streaming ingestion on the source table to use the join.

Update policies let you embed transformation logic close to ingestion and enabling real-time data conditioning, routing, and enrichment without entirely separate ETL jobs.

Learn more about Fabric RTI

If you really want to learn about RTI right now, we have an online on-demand course that you can enrol in, right now. You’ll find it at Mastering Microsoft Fabric Real-Time Intelligence

2026-09-20