Lägg till PostgreSQL Database CDC som källa i realtidshubben

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

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:

  1. På sidan Azure Database for PostgreSQL – flexibel server i Azure Portal väljer du Serverparametrar i navigeringsmenyn.

  2. På sidan Serverparametrar :

    • Ange wal_level till logisk.
    • Uppdatera max_worker_processes till minst 16.

    En skärmbild av att aktivera CDC för en flexibel serverdistribution.

  3. Spara ändringarna och starta om servern.

  4. Bekräfta att din Azure Database for PostgreSQL – flexibel server-instans tillåter offentlig nätverkstrafik.

  5. 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;
    
  1. Logga in på Microsoft Fabric.

  2. 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.

    Skärmbild som visar hur du växlar till Fabric-arbetsbelastningen.

  3. Välj Realtid i det vänstra navigeringsfältet.

    Skärmbild som visar hur du startar Anslut till datakällan.

  4. Sidan Strömmande data öppnas som standard. Klicka på knappen Lägg till data för att komma till sidan Datakällor .

    Skärmbild som visar sidan Datakällor i Real-Time hubben.

    Du kan också komma till sidan Datakällor direkt genom att välja alternativet Lägg till data i det vänstra navigeringsfältet.

    Skärmbild som visar knappen Anslut datakälla.

Välj PostgreSQL Database CDC som källtyp

På sidan Datakällor väljer du Kategorin Microsoft-källor överst och väljer sedan Anslutpanelen Azure DB for PostgreSQL (CDC).

Skärmbild som visar valet av Azure Database (DB) för PostgreSQL (CDC) som källtyp på sidan Datakällor.

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.

  1. På sidan Anslut väljer du Ny anslutning.

    Skärmbild som visar sidan Anslut för en PostgreSQL-databas med länken Ny anslutning markerad.

  2. 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.

      Skärmbild som visar avsnittet Anslutningsinställningar för PostgreSQL-databasanslutningsappen.

    • 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. Skärmbild som visar avsnittet Anslutningsautentiseringsuppgifter för PostgreSQL-databasanslutningsappen.

  3. 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.

  4. 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.tableName eller giltiga reguljära uttryck. Exempel:
    • dbo.test.*: Välj alla tabeller vars namn börjar med test i schemat dbo .
    • dbo\.(test1|test2): Välj dbo.test1 och dbo.test2.

    Du kan kombinera båda formaten i listan. Den totala teckengränsen för hela posten är 102 400 tecken.

  5. 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.
  6. 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 - och NUMERIC kolumnvärden:

      • Precise: Representerar värden med exakta decimaltyper (till exempel Java BigDecimal) 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

  1. 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:

      1. För Källnamn väljer du Pennan-knappen för att ändra namnet.

      2. Observera att Eventstream-namnet och Stream-namnet är skrivskyddade.

    • Real-Time Hub:

      I avsnittet Stream-information till höger följer du dessa steg:

      1. Välj Fabric-arbetsyta där du vill skapa händelseströmmen.

      2. För Eventstream-namn väljer du knappen Penna och anger ett namn för händelseströmmen.

      3. 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.

  2. 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

  1. 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.

    Skärmbild som visar schemahanteringssteget med DeltaFlow- och Raw CDC-händelsealternativ för en CDC-källanslutning.

  2. Aktivera händelseschemaassociation.

  3. För Arbetsyta väljer du en Fabric-arbetsyta för schemauppsättningen.

  4. 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.

  5. Om du valde alternativet + Skapa i föregående steg anger du ett namn för schemauppsättningen.

  6. På sidan Granska + anslut granskar du sammanfattningen och väljer sedan Lägg till (Eventstream) eller Anslut (Real-Time hubb).

    Skärmbild som visar sidan Granska och skapa för PostgreSQL-databasanslutningsappen med utökade funktioner.

    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, updateeller delete) 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

  1. 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.

    Skärmbild som visar sidan Granska + anslut lyckad.

  2. Du bör se strömmande data i avsnittet Senaste strömmande datastartsidan förReal-Time-hubben. Detaljerade steg finns i Se detaljer om dataströmmar i Fabric Real-Time-hubben.

Mer information om hur du använder dataströmmar finns i följande artiklar: