Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du lägger till PostgreSQL Database Change Data Capture (CDC) som händelsekälla i Fabric Real-Time Hub.
Med källanslutningsappen PostgreSQL Database Change Data Capture (CDC) för Microsoft Fabric-händelseströmmar kan du samla in en ögonblicksbild av aktuella data i en PostgreSQL-databas. För närvarande stöds PostgreSQL Database Change Data Capture (CDC) från följande tjänster där databaserna kan nås offentligt:
- Azure-databas för PostgreSQL
- Amazon RDS för PostgreSQL
- Amazon Aurora PostgreSQL
- Google Cloud SQL för PostgreSQL
När PostgreSQL Database CDC-källan har lagts till i händelseströmmen avbildas ändringar på radnivå i de angivna tabellerna. Dessa ändringar kan sedan bearbetas i realtid och skickas till olika mål för ytterligare analys.
Kommentar
Med DeltaFlow (förhandsversion) kan du omvandla råa Debezium CDC-händelser till analysklara strömmar som speglar källtabellstrukturen. DeltaFlow automatiserar schemaregistrering, hantering av måltabeller och schemautveckling. Om du vill använda DeltaFlow väljer du Analysklara händelser och automatiskt uppdaterat schema under schemahanteringssteget.
Förutsättningar
Åtkomst till en arbetsyta i Fabric-kapacitetslicensläget eller utvärderingslicensläget med behörighet som bidragsgivare eller högre.
Registrerad användaråtkomst i PostgreSQL-databasen.
PostgreSQL-databasen bör vara offentligt tillgänglig och inte vara bakom en brandvägg eller skyddas i ett virtuellt nätverk. Om det finns i ett skyddat nätverk ansluter du till det med hjälp av den virtuella nätverksinmatningen för Eventstream Connector.
CDC aktiverat i PostgreSQL-databasen och tabellerna.
Om du har Azure Database for PostgreSQL följer du stegen i nästa avsnitt för att aktivera CDC. Detaljerad information finns i Logisk replikering och logisk avkodning – Azure Database for PostgreSQL – flexibel server.
För andra PostgreSQL-databaser, se Debezium Connector för PostgreSQL :: Debezium Documentation.
Om du inte har en händelseström, skapa då en händelseström.
Aktivera CDC i din PostgreSQL-databas
I det här avsnittet används Azure Database for PostgreSQL- som exempel.
Följ dessa steg för att aktivera CDC i din flexibla Azure Database for PostgreSQL-server:
På sidan Azure Database for PostgreSQL – flexibel server i Azure Portal väljer du Serverparametrar i navigeringsmenyn.
På sidan Serverparametrar :
- Ange wal_level till logisk.
- Uppdatera max_worker_processes till minst 16.
Spara ändringarna och starta om servern.
Bekräfta att din Azure Database for PostgreSQL – flexibel server-instans tillåter offentlig nätverkstrafik.
Ge administratörsanvändaren replikeringsbehörigheter genom att köra följande SQL-instruktion. Om du vill använda ett annat användarkonto för att ansluta din PostgreSQL-databas (DB) för att hämta CDC kontrollerar du att användaren är tabellägare.
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
Gå till sidan Datakällor
Logga in på Microsoft Fabric.
Om du ser Power BI- längst ned till vänster på sidan växlar du till arbetsbelastningen Fabric genom att välja Power BI och sedan välja Fabric.
Välj Realtid i det vänstra navigeringsfältet.
Sidan Strömmande data öppnas som standard. Klicka på knappen Lägg till data för att komma till sidan Datakällor .
Du kan också komma till sidan Datakällor direkt genom att välja alternativet Lägg till data i det vänstra navigeringsfältet.
Välj PostgreSQL Database CDC som källtyp
På sidan Datakällor väljer du Kategorin Microsoft-källor överst och väljer sedan Anslut på panelen Azure DB for PostgreSQL (CDC).
Konfigurera Azure Database för PostgreSQL CDC-källa
Mata in ändringsdata från PostgreSQL-databaser med automatisk tabellschemaregistrering via CDC till Eventstream.
Kommentar
DeltaFlow (förhandsversion): När du väljer Analysklara händelser och automatiskt uppdaterat schema i schemahanteringssteget omvandlar DeltaFlow råa Debezium CDC-händelser till analysklara strömmar som speglar källtabellstrukturen. DeltaFlow automatiserar även skapande av måltabeller och schemautvecklingshantering.
På sidan Anslut väljer du Ny anslutning.
I avsnittet Anslutningsinställningar anger du följande information.
Server: Serveradressen för postgreSQL-databasen, till exempel my-pgsql-server.postgres.database.azure.com.
Databas: Databasnamnet, till exempel my_database.
Anslutningsnamn: Ange ett namn för anslutningen.
Autentiseringstyp, Välj Grundläggande och ange användarnamn ochlösenord för databasen.
Kommentar
För närvarande stöder Fabric-händelseströmmar endast grundläggande autentisering.
Välj Anslut för att slutföra anslutningsinställningarna.
Port: Ange portnumret för servern. Standardvärdet är 5432. Om den valda molnanslutningen har konfigurerats i Hantera anslutningar och gatewayerkontrollerar du att portnumret matchar den som anges där. Om de inte matchar kommer portnumret i molnanslutningen i Hantera anslutningar och gatewayer att ha företräde.
Du kan välja mellan två alternativ när du samlar in ändringar från databastabeller:
- Alla tabeller: Samla in ändringar från varje tabell i databasen.
-
Ange tabellnamn: Gör att du kan ange en delmängd av tabeller med hjälp av en kommaavgränsad lista. Du kan använda antingen: fullständiga tabellidentifierare i formatet
schemaName.tableNameeller giltiga reguljära uttryck. Exempel: -
dbo.test.*: Välj alla tabeller vars namn börjar medtesti schematdbo. -
dbo\.(test1|test2): Väljdbo.test1ochdbo.test2.
Du kan kombinera båda formaten i listan. Den totala teckengränsen för hela posten är 102 400 tecken.
Facknamn (valfritt): Ange namnet på det logiska postgreSQL-avkodningsfacket som skapades för strömmande ändringar från ett visst plugin-program för en viss databas/schema. Servern använder det här facket för att strömma händelser till Eventstream Streaming Connector. Det får endast innehålla små bokstäver, siffror och understreck.
- Om inget anges används ett GUID för att skapa facket, vilket kräver lämpliga databasbehörigheter.
- Om det finns ett angivet facknamn använder anslutningsappen det direkt.
Expandera Avancerade inställningar för att få åtkomst till fler konfigurationsalternativ för PostgreSQL Database CDC-källan:
Publikationsnamn: Anger namnet på den logiska replikeringspublikationen PostgreSQL som ska användas. Det här värdet måste matcha en befintlig publikation i databasen, eller så skapas det automatiskt beroende på autoskapningsläget. Standardvärde:
dbz_publication.Kommentar
Anslutningsanvändaren måste ha superanvändarbehörighet för att kunna skapa publikationen. Vi rekommenderar att du skapar publikationen manuellt innan du startar anslutningsappen för första gången för att undvika behörighetsrelaterade problem.
Läge för automatisk skapande av publikation: Styr om och hur publikationen skapas automatiskt. Alternativen inkluderar:
-
Filtered(standard): Om den angivna publikationen inte finns skapar anslutningsappen en som endast innehåller de valda tabellerna (enligt tabellens inkluderingslista). -
AllTables: Om den angivna publikationen finns använder anslutningsappen den. Om den inte finns skapar anslutningsappen en som innehåller alla tabeller i databasen. -
Disabled: Anslutningen skapar ingen publikation. Om den angivna publikationen saknas, utlöser anslutningen ett undantag och stoppar. I det här fallet måste publikationen skapas manuellt i databasen.
Mer information finns i Debezium-dokumentationen om autoskapningsläget för publicering
-
Decimalhanteringsläge: Anger hur anslutningsappen hanterar PostgreSQL
DECIMAL- ochNUMERICkolumnvärden:-
Precise: Representerar värden med exakta decimaltyper (till exempel JavaBigDecimal) för att säkerställa fullständig precision och noggrannhet i datarepresentationen. -
Double: Konverterar värden till flyttal med dubbel precision. Det här alternativet förbättrar användbarheten och prestandan men kan leda till att precisionen går förlorad. -
String: Kodar värden som formaterade strängar. Det här alternativet gör dem enkla att använda i underordnade system men förlorar semantisk information om den ursprungliga numeriska typen.
-
Läge för ögonblicksbild: Ange villkor för att utföra en ögonblicksbild när kontakten startar:
-
Initial: Anslutningsappen kör endast en ögonblicksbild när inga förskjutningar registrerades för det logiska servernamnet, eller om den upptäcker att en tidigare ögonblicksbild inte kunde slutföras. När ögonblicksbilden är klar börjar anslutningen strömma händelsedata för kommande databasändringar. -
InitialOnly: Anslutningsappen kör endast en ögonblicksbild när inga förskjutningar har registrerats för det logiska servernamnet. När ögonblicksbilden är klar, stoppas anslutningen. Det övergår inte till direktuppspelning för att läsa ändringshändelser från binlog. -
NoData: Anslutningsappen kör en ögonblicksbild som endast avbildar schemat, men inte några tabelldata. Ange det här alternativet om du inte behöver en konsekvent ögonblicksbild av data, men du bara behöver ändringarna som sker sedan anslutningsappen startar.
-
Pulsslagsåtgärdsfråga: Anger en fråga som anslutningsappen kör på källdatabasen när anslutningsappen skickar ett pulsslagsmeddelande.
Åsidosättning av instruktion för ögonblicksbildsval: Anger de tabellrader som ska inkluderas i en ögonblicksbild. Använd egenskapen om du vill att en ögonblicksbild endast ska innehålla en delmängd av raderna i en tabell. Den här egenskapen påverkar endast ögonblicksbilder. Det gäller inte händelser som anslutningsappen läser från loggen.
Ström eller källdetaljer
På sidan Anslut följer du något av dessa steg baserat på om du använder Eventstream eller Real-Time hubb.
Eventstream:
Följ dessa steg i fönstret Källinformation till höger:
För Källnamn väljer du Pennan-knappen för att ändra namnet.
Observera att Eventstream-namnet och Stream-namnet är skrivskyddade.
Real-Time Hub:
I avsnittet Stream-information till höger följer du dessa steg:
Välj Fabric-arbetsyta där du vill skapa händelseströmmen.
För Eventstream-namn väljer du knappen Penna och anger ett namn för händelseströmmen.
Stream-namnvärdet genereras automatiskt åt dig genom att lägga till -stream till namnet på händelseströmmen. Den här strömmen visas på sidan Alla dataströmmar i realtidshubben när guiden är klar.
Välj Nästa längst ned på sidan Konfigurera .
Granska och ansluta
På skärmen Granska + anslut granskar du sammanfattningen och väljer Lägg till (Eventstream) eller Anslut (Real-Time hubb).
Sidan Schemahantering
I steget Schemahantering väljer du något av följande alternativ:
- Analysklara händelser och automatiskt uppdaterat schema (DeltaFlow Preview): Anslutningsappen omvandlar råa CDC-händelser till analysklara strömmar som speglar källtabellstrukturen. DeltaFlow berikar händelser med metadata, till exempel ändringstyp (infoga, uppdatera eller ta bort) och tidsstämplar, och hanterar automatiskt måltabeller och schemautveckling.
- Raw CDC-händelser: Kopplingen tar in och gör råa CDC-händelser tillgängliga. Om du vill kan anslutningsappen automatiskt identifiera tabellscheman och registrera dem i schemaregistret. Använd det här alternativet om du vill ha schemamedvetenhet utan DeltaFlow-transformering.
Kommentar
Följande skärmbild visar Azure SQL Database CDC. Alternativen för schemahantering är desamma för alla CDC-källanslutningar som stöds.
Aktivera händelseschemaassociation.
För Arbetsyta väljer du en Fabric-arbetsyta för schemauppsättningen.
För Schemauppsättning är + Skapa valt som standard, vilket skapar en ny schemauppsättning. Du kan ändra den för att välja en befintlig händelseschemauppsättning.
Om du valde alternativet + Skapa i föregående steg anger du ett namn för schemauppsättningen.
På sidan Granska + anslut granskar du sammanfattningen och väljer sedan Lägg till (Eventstream) eller Anslut (Real-Time hubb).
För alla tabeller eller valda tabeller i PostgreSQL-databasen visar anslutningsappen automatiskt och skapar scheman och registrerar dem med schemaregistret.
DeltaFlow: Analysklar händelsetransformering (förhandsversion)
När du aktiverar analysklara händelser och automatiskt uppdaterat schema (DeltaFlow) tillhandahåller anslutningsappen följande funktioner:
-
Analysklar händelseform: Raw Debezium CDC-händelser omvandlas till ett tabellformat som speglar källtabellstrukturen. Händelser berikas med metadatakolumner, inklusive ändringstypen (
insert,updateellerdelete) och händelsetidsstämpeln. - Automatisk hantering av måltabeller: När du dirigerar DeltaFlow-aktiverade strömmar till ett mål som stöds, till exempel ett händelsehus, skapas måltabeller automatiskt för att matcha källtabellschemat. Du behöver inte skapa eller konfigurera måltabeller manuellt.
- Schemautvecklingshantering: När källdatabastabeller ändras (till exempel läggs nya kolumner till eller tabeller skapas) identifierar DeltaFlow automatiskt ändringarna, uppdaterar de registrerade schemana och justerar måltabellerna därefter. Det här beteendet minimerar manuella åtgärder som orsakas av schemaändringar.
Kommentar
DeltaFlow (förhandsversion) stöds för närvarande med Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server på den virtuella datorn CDC och PostgreSQL CDC-källanslutningar.
Mer information om hur DeltaFlow omvandlar råa CDC-händelser till analysklara utdata, inklusive åtgärdstyper och metadatakolumner, finns i DeltaFlow-utdatatransformering.
Visa information om dataström
På sidan Granska + anslut, om du väljer Öppna händelseström, öppnar guiden den händelseström som den skapade åt dig med den valda PostgreSQL Database CDC som källa. Stäng guiden genom att välja Slutför längst ned på sidan.
Du bör se strömmande data i avsnittet Senaste strömmande data på startsidan förReal-Time-hubben. Detaljerade steg finns i Se detaljer om dataströmmar i Fabric Real-Time-hubben.
Relaterat innehåll
Mer information om hur du använder dataströmmar finns i följande artiklar: