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.
Questo articolo mostra come aggiungere un'origine di acquisizione delle modifiche dei dati del database PostgreSQL a un flusso di eventi.
Il connettore di origine Change Data Capture (CDC) per PostgreSQL nei flussi di eventi di Microsoft Fabric consente di acquisire uno snapshot dei dati correnti di un database PostgreSQL. Attualmente, PostgreSQL Database Change Data Capture (CDC) è supportato dai servizi seguenti a cui è possibile accedere pubblicamente ai database:
- database di Azure per PostgreSQL
- Amazon RDS per il PostgreSQL
- Amazon Aurora PostgreSQL
- Google Cloud SQL per PostgreSQL
Dopo aver aggiunto l'origine CDC del database PostgreSQL al flusso di eventi, acquisisce le modifiche a livello di riga alle tabelle specificate. Queste modifiche possono quindi essere elaborate in tempo reale e inviate a destinazioni diverse per ulteriori analisi.
Prerequisiti
Accesso a un'area di lavoro nella modalità di licenza capacità Fabric o modalità di licenza di valutazione, con autorizzazioni di collaboratore o superiori.
Accesso utente registrato nel database PostgreSQL.
Il database PostgreSQL deve essere accessibile pubblicamente e non essere protetto da un firewall o da una rete virtuale.
CDC abilitato nel database e nelle tabelle PostgreSQL.
Se si ha un Database di Azure per PostgreSQL, seguire la procedura descritta nella sezione successiva per abilitare CDC. Per altre informazioni, vedere Replica logica e decodifica logica - Database di Azure per PostgreSQL - Server flessibile.
Per altri database PostgreSQL, vedere Connettore Debezium per PostgreSQL :: Documentazione Debezium.
Se non si dispone di un flusso di eventi, creare un flusso di eventi.
Abilitare CDC nel database PostgreSQL
Questa sezione usa database di Azure per PostgreSQL come esempio.
Seguire questa procedura per abilitare CDC nel Server Flessibile del Database di Azure per PostgreSQL:
Nella pagina del portale di Azure del Database di Azure per PostgreSQL Server flessibile, seleziona Parametri del server nel menu di navigazione.
Nella pagina Parametri del server:
- Imposta wal_level su logico.
- Aggiorna il max_worker_processes ad almeno 16.
Salvare le modifiche e riavviare il server.
Verificare che l'istanza del Server flessibile di Database di Azure per PostgreSQL consenta il traffico di rete pubblico.
Concedere le autorizzazioni di replica dell'utente amministratore eseguendo l'istruzione SQL seguente. Se si vuole usare un altro account utente per connettere il database PostgreSQL per recuperare CDC, assicurarsi che l'utente sia il proprietario della tabella .
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
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 .
Se si aggiunge l'origine a un flusso di eventi già pubblicato, passare alla modalità Modifica. Sulla barra multifunzione selezionare Aggiungi origine>Origini esterne.
Nella pagina Selezionare un'origine dati, cercare e selezionare Connetti nel riquadro PostgreSQL DB (CDC).
Configurare e connettersi a PostgreSQL Database CDC
Nella pagina Connetti, seleziona Nuova connessione.
Nella sezione Impostazioni connessione immettere le informazioni seguenti.
Server: indirizzo del server del database PostgreSQL, ad esempio my-pgsql-server.postgres.database.azure.com.
Database: nome del database, ad esempio mio_database.
Nome connessione: immettere un nome per la connessione.
Tipo di autenticazione, selezionare Basic e immettere il nome utente e la password per il database.
Nota
Attualmente, i flussi di eventi di Fabric supportano solo l'autenticazione di base .
Selezionare Connetti per completare le impostazioni di connessione.
Porta: immettere il numero di porta del server. Il valore predefinito è 5432. Se la connessione cloud selezionata è configurata in Gestire connessioni e gateway, assicurarsi che il numero di porta corrisponda a quello impostato. Se non corrispondono, il numero di porta nella connessione cloud in Gestisci connessioni e gateway ha la precedenza.
È possibile scegliere tra due opzioni durante l'acquisizione delle modifiche dalle tabelle di database:
- Tutte le tabelle: acquisisci le modifiche da ogni tabella nel database.
-
Immettere i nomi della tabella: consente di specificare un subset di tabelle usando un elenco delimitato da virgole. È possibile usare: identificatori di tabella completi nel formato
schemaName.tableNameo espressioni regolari valide. Esempi: -
dbo.test.*: selezionare tutte le tabelle i cui nomi iniziano contestnellodboschema. -
dbo\.(test1|test2): selezionaredbo.test1edbo.test2.
È possibile combinare entrambi i formati nell'elenco. Il limite di caratteri totale per l'intera voce è di 102.400 caratteri.
Nome slot (facoltativo): immettere il nome dello slot di decodifica logica PostgreSQL creato per lo streaming delle modifiche da un particolare plug-in per un database o uno schema specifico. Il server usa questo slot per trasmettere eventi al connettore di streaming Eventstream. Deve contenere solo lettere minuscole, numeri e caratteri di sottolineatura.
- Se non specificato, viene usato un GUID per creare lo slot, richiedendo le autorizzazioni appropriate per il database.
- Se esiste un nome di slot specificato, il connettore lo usa direttamente.
È possibile espandere Impostazioni avanzate per accedere ad altre opzioni di configurazione per l'origine CDC del database PostgreSQL:
Nome pubblicazione: specifica il nome della pubblicazione di replica logica PostgreSQL da usare. Deve corrispondere a una pubblicazione esistente nel database oppure verrà creata automaticamente a seconda della modalità di creazione automatica. Valore predefinito:
dbz_publicationNota
L'utente del connettore deve disporre delle autorizzazioni con privilegi avanzati per creare la pubblicazione. È consigliabile creare manualmente la pubblicazione prima di avviare il connettore per la prima volta per evitare problemi relativi alle autorizzazioni.
Modalità di creazione automatica della pubblicazione: controlla se e come viene creata automaticamente la pubblicazione. Le opzioni includono:
-
Filtered(impostazione predefinita): se la pubblicazione specificata non esiste, il connettore ne crea uno che include solo le tabelle selezionate (come specificato nell'elenco di inclusione della tabella). -
AllTables: se la pubblicazione specificata esiste, il connettore la usa. Se non esiste, il connettore ne crea uno che include tutte le tabelle nel database. -
Disabled: il connettore non crea una pubblicazione. Se la pubblicazione specificata non è presente, il connettore genera un'eccezione e si arresta. In questo caso, la pubblicazione deve essere creata manualmente nel database.
Per altre informazioni, vedere la documentazione di Debezium sulla modalità di creazione automatica della pubblicazione
-
Modalità di gestione decimale: Specifica come il connettore gestisce i valori delle colonne di PostgreSQL:
-
Precise: rappresenta i valori usando tipi decimali esatti ,ad esempio JavaBigDecimal, per garantire la precisione completa e l'accuratezza nella rappresentazione dei dati. -
Double: converte i valori in numeri a virgola mobile e precisione doppia. Ciò migliora l'usabilità e le prestazioni, ma può comportare una perdita di precisione. -
String: codifica i valori come stringhe formattate. Questo li rende facili da utilizzare 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.
-
Query di azione del heartbeat: specifica una query che il connettore esegue nel database di origine quando invia un messaggio di heartbeat.
Override dell'istruzione di selezione snapshot: specifica le righe della tabella da includere in uno snapshot. Utilizzare la proprietà se si desidera che uno snapshot includa solo un subset delle righe di una tabella. Questa proprietà influisce solo sui snapshot. Non si applica agli eventi letti dal connettore dal log.
Nella pagina Rivedi e connetti esaminare il riepilogo e quindi selezionare Aggiungi.
Visualizzare il flusso di eventi aggiornato
È possibile visualizzare l'origine CDC del database di PostgreSQL aggiunta al flusso di eventi in Modalità modifica.
Per implementare l'origine CDC del database PostgreSQL appena aggiunta, selezionare Pubblica. Dopo aver completato questi passaggi, l'origine CDC del database PostgreSQL è disponibile per la Visualizzazione in diretta.
Contenuto correlato
Altri connettori:
- Flussi di dati Amazon Kinesis
- Azure Cosmos DB
- Hub eventi di Azure
- Bus di servizio di Azure
- Hub IoT di Azure
- Change Data Capture (CDC) nel Database SQL di Azure
- Confluent Kafka
- Endpoint personalizzato
- Google Cloud Pub/Sub
- Database MySQL CDC
- Database PostgreSQL CDC
- Dati di esempio
- Eventi di archiviazione BLOB di Azure
- Evento dell'area di lavoro di Fabric