Condividi tramite


Aggiungere l'origine CDC del database SQL di Azure a un eventstream

Questo articolo mostra come aggiungere una fonte di Change Data Capture (CDC) del database SQL di Azure a un flusso di eventi.

Il connettore di origine CDC del database SQL di Azure per i flussi di eventi di Microsoft Fabric consente di acquisire uno snapshot dei dati correnti in un database SQL di Azure. Il connettore monitora e registra poi eventuali modifiche future a livello di riga a questi dati. Una volta acquisite le modifiche nell'eventstream, è possibile elaborare questi dati CDC in tempo reale e inviarli a destinazioni diverse in Fabric per un'ulteriore elaborazione o analisi.

Prerequisiti

  • Accesso a un'area di lavoro in modalità di licenza per capacità Fabric o in modalità di licenza di valutazione, con autorizzazioni di Collaboratore o superiori.
  • Un server Azure SQL in esecuzione con un database SQL di Azure.
  • Il database SQL di Azure deve essere accessibile pubblicamente e non essere protetto da un firewall o in una rete virtuale.
  • Abilitato CDC nel database SQL di Azure eseguendo la stored procedure sys.sp_cdc_enable_db. Per ulteriori informazioni, consultare Abilitare e disabilitare Change Data Capture.
  • Se non si dispone di un flusso di eventi, creare un flusso di eventi.

Si noti che non è necessario abilitare il mirroring nel database SQL di Azure.

Abilitare CDC nel database SQL di Azure

  1. Passare al portale di Azure, aprire il database SQL di Azure e selezionare Editor di query. Scegliere un metodo di autenticazione per eseguire l’accesso.

    Screenshot dell’apertura del database SQL di Azure.

  2. Eseguire i comandi SQL seguenti per abilitare CDC nel database:

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

Avviare la procedura guidata Selezionare un'origine dati

Se non è ancora stata aggiunta alcuna origine al flusso di eventi, selezionare il riquadro Usa origine esterna .

Screenshot che mostra la selezione del tile per usare un'origine esterna.

Se si aggiunge l'origine a un flusso di eventi già pubblicato, passare alla modalità Modifica. Sulla barra multifunzione selezionare Aggiungi origine>Origini esterne.

Screenshot che mostra le selezioni per l'aggiunta di fonti esterne.

Nella pagina Selezionare un'origine dati cercare e selezionare Connetti sul riquadro Azure SQL DB (CDC).

Screenshot che mostra la selezione di CDC di Azure SQL DB come tipo di origine nella procedura guidata per ottenere eventi.

Configurare e connettersi al CDC del database SQL di Azure

  1. Nella pagina Connetti, selezionare Nuova connessione.

    Screenshot che mostra la pagina Connetti della procedura guidata per ottenere eventi con il link **Nuova connessione** evidenziato.

  2. Nella sezione Impostazioni di connessione immettere i valori seguenti per il database SQL di Azure:

    • Server: immettere il nome del server Azure SQL dal portale di Azure. È in questo formato: mysqlservername.database.windows.net.

    • Database: immettere il nome del database SQL di Azure dal portale di Azure.

      Screenshot che mostra le impostazioni di connessione della pagina Nuova connessione.

  3. Scorrere verso il basso e nella sezione Credenziali di connessione seguire questa procedura.

    • Per Nome connessione, immetti un nome per la connessione.

    • Per Tipo di autenticazione selezionare Base.

      Nota

      Attualmente, Fabric Eventstream supporta solo l'autenticazione di base .

    • Immettere Nome utente e Password per il database.

  4. Selezionare Connetti.

    Screenshot che mostra le Credenziali di connessione della pagina Nuova connessione.

  5. Nella pagina Connetti selezionare Tutte le tabelle o Immettere i nomi della tabella. Se si seleziona quest'ultimo, specificare le tabelle usando un elenco delimitato da virgole di identificatori di tabella completi (schemaName.tableName) o espressioni regolari valide. Per esempio:

    • Usare dbo.test.* per selezionare tutte le tabelle i cui nomi iniziano con dbo.test.
    • Usare dbo\.(test1|test2) per selezionare dbo.test1 e dbo.test2.

    È possibile combinare entrambi i formati usando virgole. Il limite di caratteri totale per l'intera voce è di 102.400 caratteri.

  6. È possibile espandere Impostazioni avanzate per accedere ad altre opzioni di configurazione per l'origine CDC del database SQL di Azure:

    • Modalità di gestione decimale: definisce il modo in cui il connettore gestisce DECIMAL e NUMERIC i valori delle colonne:
      • Precise: rappresenta i valori usando tipi decimali esatti ,ad esempio Java BigDecimal, per garantire la precisione completa e l'accuratezza nella rappresentazione dei dati.
      • Double: converte i valori in numeri a virgola mobile e precisione doppia. Questa impostazione migliora l'usabilità e le prestazioni, ma potrebbe comportare una perdita di precisione.
      • String: codifica i valori come stringhe formattate. Questa impostazione semplifica l'utilizzo nei sistemi downstream, ma perde informazioni semantiche sul tipo numerico originale.
    • Modalità snapshot: specificare i criteri per l'esecuzione di uno snapshot all'avvio del connettore:
      • Initial: il connettore esegue uno snapshot solo quando non sono stati registrati offset per il nome del server logico o se rileva che non è stato completato uno snapshot precedente. Al termine dello snapshot, il connettore inizia a trasmettere i record degli eventi per le modifiche successive al database.
      • InitialOnly: il connettore esegue uno snapshot solo quando per il nome del server logico non sono stati registrati offset. Al termine dello snapshot, il connettore si arresta. Non esegue la transizione allo streaming per leggere gli eventi di modifica dal binlog.
      • NoData: il connettore esegue uno snapshot che acquisisce solo lo schema, ma non i dati della tabella. Impostare questa opzione se non è necessario uno snapshot coerente dei dati, ma sono necessarie solo le modifiche apportate dall'avvio del connettore.
    • Elenco di esclusione colonne: specifica le colonne da escludere dai valori degli eventi di modifica usando nomi completi (schemaName.tableName.columnName).
    • Applicazione databaseIntent: determina il comportamento di routing nei gruppi di disponibilità AlwaysOn di SQL Server:
      • ReadWrite: si connette alla replica primaria. Utilizzare questa opzione se la connessione deve eseguire operazioni di lettura e scrittura.
      • ReadOnly: consente il reindirizzamento a una replica secondaria leggibile per le operazioni di sola lettura. Utilizzarlo per abilitare CDC direttamente nelle repliche. È necessario impostare snapshot.isolation.mode su snapshot, ovvero l'unica modalità di isolamento delle transazioni supportata per le repliche di sola lettura.
    • Override dell'istruzione SELECT di snapshot: usare la proprietà se si desidera che uno snapshot includa solo un sottoinsieme delle righe di una tabella. Questa proprietà influisce solo sui snapshot. Non si applica agli eventi letti dal log dal connettore.
  7. Selezionare Avanti.

    Screenshot che mostra la pagina di connessione della procedura guidata

  8. Nella schermata Rivedi e crea esaminare il riepilogo e quindi selezionare Aggiungi.

    Screenshot della pagina compilata Rivedi e crea nella procedura guidata Ottieni eventi.

Inserire i dati delle modifiche dai database SQL di Azure con registrazione automatica dello schema di tabella tramite CDC in Eventstream.

  1. Nella pagina Connetti, selezionare Nuova connessione.

    Screenshot che mostra la pagina di Collegamento della procedura guidata Ottieni eventi con il collegamento Nuova connessione evidenziato.

  2. Nella sezione Impostazioni di connessione immettere i valori seguenti per il database SQL di Azure:

    • Server: immettere il nome del server Azure SQL dal portale di Azure. È in questo formato: mysqlservername.database.windows.net.

    • Database: immettere il nome del database SQL di Azure dal portale di Azure.

      Screenshot che mostra le impostazioni di connessione della pagina Nuova connessione.

  3. Scorrere verso il basso e nella sezione Credenziali di connessione seguire questa procedura.

    • Per Nome connessione, immetti un nome per la connessione.

    • Per Tipo di autenticazione selezionare Base.

      Nota

      Attualmente, Fabric Eventstream supporta solo l'autenticazione di base .

    • Immettere Nome utente e Password per il database.

  4. Selezionare Connetti.

    Screenshot che mostra le Credenziali di connessione della pagina Nuova connessione.

  5. Nella pagina Connetti selezionare Tutte le tabelle o Immettere i nomi della tabella. Se si seleziona quest'ultimo, specificare le tabelle usando un elenco delimitato da virgole di identificatori di tabella completi (schemaName.tableName) o espressioni regolari valide. Per esempio:

    • Usare dbo.test.* per selezionare tutte le tabelle i cui nomi iniziano con dbo.test.
    • Usare dbo\.(test1|test2) per selezionare dbo.test1 e dbo.test2.

    È possibile combinare entrambi i formati usando virgole. Il limite di caratteri totale per l'intera voce è di 102.400 caratteri.

  6. È possibile espandere Impostazioni avanzate per accedere ad altre opzioni di configurazione per l'origine CDC del database SQL di Azure:

    • Modalità di gestione decimale: definisce il modo in cui il connettore gestisce DECIMAL e NUMERIC i valori delle colonne:
      • Precise: rappresenta i valori usando tipi decimali esatti ,ad esempio Java BigDecimal, per garantire la precisione completa e l'accuratezza nella rappresentazione dei dati.
      • Double: converte i valori in numeri a virgola mobile e precisione doppia. Questa impostazione migliora l'usabilità e le prestazioni, ma potrebbe comportare una perdita di precisione.
      • String: codifica i valori come stringhe formattate. Questa impostazione semplifica l'utilizzo nei sistemi downstream, ma perde informazioni semantiche sul tipo numerico originale.
    • Modalità snapshot: specificare i criteri per l'esecuzione di uno snapshot all'avvio del connettore:
      • Initial: il connettore esegue uno snapshot solo quando non sono stati registrati offset per il nome del server logico o se rileva che non è stato completato uno snapshot precedente. Al termine dello snapshot, il connettore inizia a trasmettere i record degli eventi per le modifiche successive al database.
      • InitialOnly: il connettore esegue uno snapshot solo quando per il nome del server logico non sono stati registrati offset. Al termine dello snapshot, il connettore si arresta. Non esegue la transizione allo streaming per leggere gli eventi di modifica dal binlog.
      • NoData: il connettore esegue uno snapshot che acquisisce solo lo schema, ma non i dati della tabella. Impostare questa opzione se non è necessario uno snapshot coerente dei dati, ma sono necessarie solo le modifiche apportate dall'avvio del connettore.
    • Elenco di esclusione colonne: specifica le colonne da escludere dai valori degli eventi di modifica usando nomi completi (schemaName.tableName.columnName).
    • Applicazione databaseIntent: determina il comportamento di routing nei gruppi di disponibilità AlwaysOn di SQL Server:
      • ReadWrite: si connette alla replica primaria. Utilizzare questa opzione se la connessione deve eseguire operazioni di lettura e scrittura.
      • ReadOnly: consente il reindirizzamento a una replica secondaria leggibile per le operazioni di sola lettura. Utilizzarlo per abilitare CDC direttamente nelle repliche. È necessario impostare snapshot.isolation.mode su snapshot, ovvero l'unica modalità di isolamento delle transazioni supportata per le repliche di sola lettura.
    • Override dell'istruzione SELECT di snapshot: usare la proprietà se si desidera che uno snapshot includa solo un sottoinsieme delle righe di una tabella. Questa proprietà influisce solo sui snapshot. Non si applica agli eventi letti dal log dal connettore.
  7. Abilitare l'associazione dello schema di eventi.

  8. Per Area di lavoro selezionare un'area di lavoro Infrastruttura per il set di schemi.

  9. Per Set di schemi, + Crea è selezionato per impostazione predefinita, che crea un nuovo set di schemi. È possibile modificarlo per selezionare un set di schemi eventi esistente.

  10. Se è stata selezionata l'opzione + Crea nel passaggio precedente, immettere un nome per il set di schemi.

    Screenshot che mostra l'impostazione dello schema per un'origine CDC del database SQL di Azure.

  11. Nella pagina Rivedi e connetti selezionare Aggiungi.

    Screenshot che mostra la pagina rivedi e connetti per l'origine CDC del database SQL di Azure.

    Per tutte le tabelle o le tabelle selezionate nel database SQL di Azure, il connettore rileva automaticamente e crea gli schemi e li registra nel Registro di sistema dello schema.

  12. Selezionare il nodo eventstream al centro e passare alla scheda Schemi associati nel riquadro inferiore.

    Screenshot che mostra la finestra Schema associato nel riquadro inferiore.

Set di schemi

  1. Passare all'area di lavoro selezionata nel passaggio precedente. Nell'esempio seguente si tratta dell'area di lavoro personale.

  2. Selezionare il set di schemi creato dal connettore di database SQL di Azure (CDC).

    Screenshot che mostra lo schema generato impostato nella pagina Area di lavoro personale.

  3. Gli schemi vengono visualizzati nel set di schemi, come illustrato nell'immagine seguente.

    Screenshot che mostra gli schemi nel set di schemi generato.

  4. Per visualizzare la versione JSON dello schema, passare alla visualizzazione schema JSON .

    Screenshot che mostra la visualizzazione dello schema JSON.

    Non modificare questi schemi individuati usando questo editor perché diventa non conforme allo schema delle tabelle nell'origine del database SQL di Azure.

Visualizzare il flusso di eventi aggiornato

  1. È possibile visualizzare l'origine del database SQL di Azure (CDC) aggiunta all’eventstream in modalità di modifica.

    Screenshot dello streaming dell’origine CDC del database SQL di Azure nella visualizzazione di Modifica.

  2. Per implementare questa origine CDC del database SQL di Azure appena aggiunta, selezionare Pubblica. Dopo aver completato questi passaggi, l'origine CDC del database SQL di Azure è disponibile per la vista dal vivo.

    Screenshot dello streaming dell'origine CDC del database SQL di Azure nella visualizzazione in diretta.

Configurare le destinazioni eventstream per l'uso degli schemi

Attualmente, solo la eventhouse, l'endpoint personalizzato e le destinazioni di flusso derivate sono supportate per i flussi di eventi con funzionalità estese abilitate. Questa sezione illustra come aggiungere e configurare una destinazione dell'evento quando sono abilitate funzionalità estese (ad esempio il supporto dello schema) per il flusso di eventi.

Configurare uno schema per una destinazione endpoint personalizzata

  1. Selezionare Trasforma eventi o aggiungi destinazione e quindi selezionare CustomEndpoint.

  2. Nel riquadro Endpoint personalizzato specificare un nome per la destinazione.

  3. In Schema di input selezionare lo schema per gli eventi. Quando si abilita il supporto dello schema per un flusso di eventi, effettuare una selezione in questa casella.

Screenshot che mostra il riquadro per la configurazione di un endpoint personalizzato.

Per informazioni dettagliate sulla configurazione di una destinazione endpoint personalizzata, vedere Aggiungere un endpoint personalizzato o una destinazione app personalizzata a un flusso di eventi.

Configurare gli schemi per una destinazione casa degli eventi

  1. Selezionare Trasforma eventi o aggiungi destinazione e quindi selezionare Eventhouse(Casa eventi).

  2. Nel riquadro Eventhouse configurare le impostazioni correlate allo schema seguenti:

    1. Per Schema di input selezionare uno o più schemi dall'elenco a discesa.

      Screenshot che mostra il riquadro di configurazione di eventhouse con uno schema di input selezionato.

      Nota

      Se è stata selezionata l'opzione Schema dinamico tramite intestazioni durante la configurazione di un'origine di Hub eventi, potrebbero essere stati configurati più schemi per l'origine e ne è stato eseguito il mapping a varie proprietà e ai relativi valori.

    2. Per Metodo di creazione tabella selezionare Una singola tabella con tutti gli schemi combinati o Tabelle separate per ogni schema, a seconda dei requisiti.

      Screenshot che mostra il riquadro di configurazione di eventhouse con i metodi di creazione delle tabelle.

    3. Per Scrivere dati con, selezionare una delle opzioni seguenti:

      • Solo payload: scrivere i dati del payload estratti nella tabella. Se sono presenti più schemi di input, i dati vengono inviati a più tabelle.
      • Metadati e payload: scrivere metadati e dati di payload in una singola tabella. Le colonne di esempio includono source , subjecttype, e data.

      Screenshot che mostra il riquadro di configurazione dell'evento con le opzioni per la scrittura dei dati.

Per i passaggi dettagliati sulla configurazione di una destinazione dell'evento, vedere Aggiungere una destinazione eventhouse a un flusso di eventi.

Altri connettori: