Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
DeltaFlow è una funzionalità all'interno di Eventstream di Fabric che trasforma gli eventi Change Data Capture (CDC) non elaborati in un formato flat e pronto per l'analisi. Invece di lavorare con payload JSON Debezium annidati in modo approfondito, si ottengono righe tabulari che rispecchiano attentamente la struttura delle tabelle del database di origine, arricchite con colonne di metadati che descrivono ogni modifica.
Questo articolo descrive il processo di trasformazione, le colonne di metadati aggiunte da DeltaFlow e il modo in cui diversi tipi di operazione (inserimenti, aggiornamenti ed eliminazioni) vengono rappresentati nell'output.
Struttura di eventi Raw Debezium CDC
I connettori CDC basati su Debezium generano eventi di modifica come buste JSON. Un evento non elaborato tipico contiene strutture annidate, inclusi i dati di riga prima e dopo la modifica, i metadati di origine e il tipo di operazione:
{
"before": null,
"after": {
"OrderID": 1001,
"CustomerName": "Contoso Ltd",
"OrderTotal": 249.99,
"OrderDate": "2026-03-01"
},
"source": {
"version": "2.x",
"connector": "sqlserver",
"name": "fabsql",
"ts_ms": 1741305600000,
"db": "SalesDB",
"schema": "dbo",
"table": "Orders"
},
"op": "c",
"ts_ms": 1741305600123
}
Questo formato annidato richiede l'analisi e l'estrazione prima di poter eseguire query di analisi: ad esempio, per accedere a OrderTotal, è necessario navigare nell'oggetto after ed estrarlo. L'esecuzione di query su questo formato direttamente con KQL o SQL è complessa e soggetta a errori.
Output trasformato di DeltaFlow
DeltaFlow appiattisce la busta Debezium annidata in una singola riga tabulare. Le colonne della tabella di origine vengono visualizzate come colonne di primo livello e DeltaFlow aggiunge colonne di metadati che descrivono la modifica:
| OrderID | NomeCliente | Totale dell'ordine | Data Ordine | __dbz_operation | __dbz_timestamp | __dbz_server | __dbz_schema | __dbz_table |
|---|---|---|---|---|---|---|---|---|
| 1001 | Contoso Ltd | 249.99 | 2026-03-01 | Inserire | 2026-03-07T00:00:00Z | fabsql | dbo | Ordini |
È possibile eseguire query su questo output direttamente con KQL o altri strumenti di analisi, senza necessità di ulteriori elaborazioni.
Colonne di metadati
DeltaFlow aggiunge le colonne di metadati seguenti a ogni riga di output:
| colonna | Descrizione |
|---|---|
__dbz_operation |
Tipo di operazione di modifica. Valori validi: Insert, Delete, Pre_Update, Post_Update. |
__dbz_timestamp |
Timestamp di quando è stato acquisito l'evento di modifica. |
__dbz_server |
Nome logico del server di database di origine come configurato nel connettore CDC. |
__dbz_schema |
Nome dello schema della tabella di origine, ad esempio dbo, public. |
__dbz_table |
Nome della tabella di origine in cui ha avuto origine la modifica. |
Tipi di operazione
DeltaFlow rappresenta ogni tipo di modifica del database come operazione distinta. La tabella seguente descrive quando si verifica ogni operazione:
| Operation |
Valore della proprietà __dbz_operation |
Quando si verifica |
|---|---|---|
| Inserisci | Insert |
Quando viene inserita una nuova riga nella tabella di origine o durante la fase iniziale dello snapshot quando il connettore acquisisce le righe esistenti. |
| Aggiornamento |
Pre_Update e Post_Update |
Durante la fase di streaming, quando viene modificata una riga esistente. DeltaFlow genera due righe per ogni aggiornamento, una che rappresenta lo stato della riga prima della modifica e una dopo. |
| Elimina | Delete |
Durante la fase di streaming, quando una riga viene eliminata dalla tabella di origine. |
Snapshot iniziale
Quando un connettore CDC viene avviato per la prima volta, esegue uno snapshot iniziale della tabella di origine per acquisire tutte le righe esistenti. Ogni riga nello snapshot viene visualizzata come un'operazione Insert nell'output DeltaFlow:
| OrderID | NomeCliente | Totale dell'ordine | Data Ordine | __dbz_operation | __dbz_timestamp |
|---|---|---|---|---|---|
| 1001 | Contoso Ltd | 249.99 | 2026-03-01 | Inserire | 2026-03-07T00:00:00Z |
| 1002 | Fabrikam Inc | 150,00 | 02/03/2026 | Inserire | 2026-03-07T00:00:00Z |
Al termine dello snapshot, il connettore passa alla modalità di streaming e acquisisce le modifiche in corso.
Inserire
Quando viene aggiunta una nuova riga alla tabella di origine, DeltaFlow genera una singola riga con l'operazione Insert:
| OrderID | NomeCliente | Totale dell'ordine | Data Ordine | __dbz_operation | __dbz_timestamp |
|---|---|---|---|---|---|
| 1003 | Adventure Works | 75.50 | 08-03-2026 | Inserire | 2026-03-08T14:30:00Z |
Update
Quando viene modificata una riga esistente, DeltaFlow genera due righe con lo stesso timestamp, una per lo stato prima della modifica (Pre_Update) e una per lo stato dopo (Post_Update). Questo schema è simile ai feed di dati delle variazioni Delta:
| OrderID | NomeCliente | Totale dell'ordine | Data Ordine | __dbz_operation | __dbz_timestamp |
|---|---|---|---|---|---|
| 1001 | Contoso Ltd | 249.99 | 2026-03-01 | Pre_Aggiornamento | 2026-03-09T09:15:00Z |
| 1001 | Contoso Ltd | 299.99 | 2026-03-01 | Aggiornamento Post | 2026-03-09T09:15:00Z |
In questo esempio, l'oggetto OrderTotal è stato modificato da 249.99 a 299.99. Gli stati prima e dopo vengono mantenuti, che consente di calcolare le differenze, tenere traccia delle modifiche a livello di campo o creare audit trail.
Elimina
Quando una riga viene eliminata dalla tabella di origine, DeltaFlow genera una singola riga con l'operazione Delete, contenente gli ultimi valori noti della riga:
| OrderID | NomeCliente | Totale dell'ordine | Data Ordine | __dbz_operation | __dbz_timestamp |
|---|---|---|---|---|---|
| 1002 | Fabrikam Inc | 150,00 | 02/03/2026 | Elimina | 2026-03-09T10:00:00Z |
Mapping delle tabelle dello schema e di destinazione
Quando si instrada un flusso abilitato per DeltaFlow ad una destinazione supportata, ad esempio un Eventhouse, DeltaFlow automaticamente:
- Crea tabelle di destinazione che corrispondono alla struttura della tabella di origine, con colonne per ogni colonna di origine più le cinque colonne di metadati.
- Gestisce l'evoluzione dello schema : quando le tabelle di origine cambiano (ad esempio, vengono aggiunte colonne o vengono create nuove tabelle), DeltaFlow rileva le modifiche, aggiorna gli schemi registrati e modifica le tabelle di destinazione di conseguenza.
Per altre informazioni sulla gestione delle tabelle di destinazione, vedere la sezione Funzionalità DeltaFlow in ogni pagina del connettore CDC.
Contenuti correlati
- Panoramica di Eventstreams - Sezione DeltaFlow
- Aggiungere l'origine CDC del database SQL di Azure
- Aggiungere l'origine CDC dell'Istanze gestita di Azure SQL
- Aggiungere SQL Server come origine CDC nella macchina virtuale
- Aggiungi la sorgente CDC del database PostgreSQL
- Aggiungere l'origine del feed di modifiche del database con mirroring