Del via


Føj PostgreSQL Database CDC-kilde til en hændelsesstream

I denne artikel kan du se, hvordan du føjer en CDC-kilde (PostgreSQL Database Change Data Capture) til en hændelsesstream.

Cdc-kildeconnectoren (PostgreSQL Database Change Data Capture) til Microsoft Fabric-hændelsesstrømme giver dig mulighed for at hente et snapshot af de aktuelle data i en PostgreSQL-database. PostgreSQL-CDC (Database Change Data Capture) understøttes i øjeblikket fra følgende tjenester, hvor der er offentligt adgang til databaserne:

  • Azure Database til PostgreSQL-
  • Amazon RDS for PostgreSQL-
  • Amazon Aurora PostgreSQL-
  • Google Cloud SQL til PostgreSQL-

Når PostgreSQL Database CDC-kilden er føjet til hændelsesstrømmen, registreres ændringer på rækkeniveau i de angivne tabeller. Disse ændringer kan derefter behandles i realtid og sendes til forskellige destinationer for yderligere analyse.

Forudsætninger

Aktivér CDC i postgreSQL-databasen

I dette afsnit bruges Azure Database til PostgreSQL- som eksempel.

Hvis du vil aktivere CDC i din Azure Database for PostgreSQL Flexible Server, skal du følge disse trin:

  1. På siden Azure Database for PostgreSQL Flexible Server i Azure-portal skal du vælge Serverparametre i navigationsmenuen.

  2. På siden Serverparametre:

    • Angiv wal_level til logisk.
    • Opdater max_worker_processes til mindst 16.

    Et skærmbillede af aktivering af CDC for en fleksibel serverinstallation.

  3. Gem ændringerne, og genstart serveren.

  4. Bekræft, at din Forekomst af Azure Database til PostgreSQL Flexible Server tillader offentlig netværkstrafik.

  5. Tildel administratorbrugerens replikeringstilladelser ved at køre følgende SQL-sætning. Hvis du vil bruge en anden brugerkonto til at oprette forbindelse til PostgreSQL DB for at hente CDC, skal du kontrollere, at brugeren er den tabelejer.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

Start guiden Vælg en datakilde

Hvis du endnu ikke har tilføjet nogen kilde til din eventstream, vælg flisen Brug ekstern kilde.

Skærmbillede, der viser valget af flisen til brug af en ekstern kilde.

Hvis du tilføjer kildekoden til en allerede offentliggjort eventstream, så skift til Rediger-tilstand . På båndet skal du vælge Tilføj kilde>Eksterne kilder.

Skærmbillede, der viser valg til tilføjelse af eksterne kilder.

På siden Vælg en datakilde skal du søge efter og vælge Opret forbindelseCDC(PostgreSQL DB) felt.

Skærmbillede, der viser valget af Azure DB til PostgreSQL (CDC) som kildetype i guiden Hent hændelser.

Konfigurer og opret forbindelse til PostgreSQL Database CDC

  1. Vælg Ny forbindelse på siden Opret forbindelse.

    Skærmbillede, der viser siden Opret forbindelse for en Azure PostgreSQL-database med linket Ny forbindelse fremhævet.

  2. Angiv følgende oplysninger i afsnittet Forbindelsesindstillinger.

    • Server: Serveradressen på postgreSQL-databasen, f.eks . my-pgsql-server.postgres.database.azure.com.

    • Database: Databasenavnet, f.eks . my_database.

      Skærmbillede, der viser afsnittet Forbindelsesindstillinger for Azure PostgreSQL-databaseconnectoren.

    • Forbindelsesnavn: Angiv et navn til forbindelsen.

    • Godkendelsestype, Vælg Grundlæggende , og angiv dit brugernavn og din adgangskode til databasen.

      Bemærk

      I øjeblikket understøtter Fabric-hændelsesstrømme kun basisgodkendelse .

    • Vælg Opret forbindelse for at fuldføre forbindelsesindstillingerne. Skærmbillede, der viser afsnittet Forbindelseslegitimationsoplysninger for Azure PostgreSQL-databaseconnectoren.

  3. Port: Angiv serverens portnummer. Standardværdien er 5432. Hvis din valgte cloudforbindelse er konfigureret i Administrer forbindelser og gateways, skal du kontrollere, at portnummeret stemmer overens med det, der er angivet der. Hvis de ikke stemmer overens, har portnummeret i cloudforbindelsen i Administrer forbindelser og gateways forrang.

  4. Du kan vælge mellem to indstillinger, når du henter ændringer fra databasetabeller:

    • Alle tabeller: Hent ændringer fra alle tabeller i databasen.
    • Angiv tabelnavne: Giver dig mulighed for at angive et undersæt af tabeller ved hjælp af en kommasepareret liste. Du kan bruge enten: fulde tabel-id'er i formatet schemaName.tableName eller gyldige regulære udtryk. Eksempler:
    • dbo.test.*: Vælg alle tabeller, hvis navne starter med test i skemaet dbo .
    • dbo\.(test1|test2): Vælg dbo.test1 og dbo.test2.

    Du kan kombinere begge formater på listen. Den samlede tegngrænse for hele posten er 102.400 tegn.

  5. Slotnavn (valgfrit): Angiv navnet på den logiske PostgreSQL-afkodningsplads, der blev oprettet til streaming af ændringer fra en bestemt plug-in for en bestemt database/et bestemt skema. Serveren bruger dette slot til at streame hændelser til Eventstream-streamingconnectoren. Den må kun indeholde små bogstaver, tal og understregningstegn.

    • Hvis den ikke er angivet, bruges et GUID til at oprette slotten, hvilket kræver de relevante databasetilladelser.
    • Hvis der findes et angivet slotnavn, bruger connectoren det direkte.
  6. Du kan udvide avancerede indstillinger for at få adgang til flere konfigurationsmuligheder for PostgreSQL Database CDC-kilden:

    • Publikationsnavn: Angiver navnet på den logiske PostgreSQL-replikeringspublikation, der skal bruges. Dette skal stemme overens med en eksisterende publikation i databasen, ellers oprettes den automatisk, afhængigt af tilstanden for automatisk oprettelse. Standardværdi: dbz_publication.

      Bemærk

      Connectorbrugeren skal have superbrugertilladelser for at kunne oprette publikationen. Det anbefales, at du opretter publikationen manuelt, før du starter connectoren for første gang for at undgå problemer, der er relateret til tilladelser.

    • Tilstand for automatisk oprettelse af publikation: Styrer, om og hvordan publikationen oprettes automatisk. Indstillingerne omfatter:

      • Filtered (standard): Hvis den angivne publikation ikke findes, opretter connectoren en, der kun indeholder de valgte tabeller (som angivet på listen over tabelelementer).
      • AllTables: Hvis den angivne publikation findes, bruger connectoren den. Hvis den ikke findes, opretter connectoren en, der indeholder alle tabeller i databasen.
      • Disabled: Connectoren opretter ikke en publikation. Hvis den angivne publikation mangler, udløser connectoren en undtagelse og stopper. I dette tilfælde skal publikationen oprettes manuelt i databasen.

      Du kan få flere oplysninger i dokumentationen til Debezium om tilstanden automatisk gendannelse af publikationer

    • Decimalhåndteringstilstand: Angiver, hvordan connectoren håndterer PostgreSQL DECIMAL - og NUMERIC kolonneværdier:

      • Precise: Repræsenterer værdier ved hjælp af præcise decimaltyper (f.eks. Java BigDecimal) for at sikre fuld præcision og nøjagtighed i datarepræsentation.
      • Double: Konverterer værdier til flydende tal med dobbelt præcision. Dette forbedrer anvendeligheden og ydeevnen, men kan medføre tab af præcision.
      • String: Koder værdier som formaterede strenge. Det gør dem nemme at forbruge i downstream-systemer, men mister semantiske oplysninger om den oprindelige numeriske type.
    • Snapshot-tilstand: Angiv kriterierne for at udføre et snapshot, når forbindelsen starter:

      • Initial: Connectoren kører kun et snapshot, når der ikke er registreret offsets for det logiske servernavn, eller hvis den opdager, at et tidligere snapshot ikke blev fuldført. Når snapshotet er færdigt, begynder connectoren at streame hændelsesposter for efterfølgende databaseændringer.
      • InitialOnly: Connectoren kører kun et snapshot, når der ikke er registreret offsets for det logiske servernavn. Når snapshotet er færdigt, stopper forbindelsen. Den overgår ikke til streaming for at læse ændringsbegivenheder fra binloggen.
      • NoData: Connectoren kører et snapshot, der kun fanger skemaet, men ikke nogen tabeldata. Sæt denne mulighed, hvis du ikke har brug for et konsekvent snapshot af dataene, men kun de ændringer, der sker siden forbindelsen starter.
    • Heartbeat-handlingsforespørgsel: Specificerer en forespørgsel, som connectoren udfører på kildedatabasen, når connectoren sender en heartbeat-besked.

    • Snapshot select statement override: Specificerer tabellens rækker, der skal inkluderes i et snapshot. Brug egenskaben, hvis du vil have et snapshot til kun at inkludere et delmængde af rækkerne i en tabel. Denne egenskab påvirker kun snapshots. Det gælder ikke for begivenheder, som connectoren læser fra loggen.

  7. Gennemse oversigten på siden Gennemse + opret forbindelse , og vælg derefter Tilføj.

    Skærmbillede, der viser siden Gennemse og opret udfyldt for Azure PostgreSQL-databaseconnectoren.

Vis opdateret hændelsesstream

  1. Du kan se, at PostgreSQL Database CDC-kilden er føjet til din eventstream i redigeringstilstand.

    Et skærmbillede af streaming af PostgreSQL DB CDC-kilde i redigeringsvisning.

  2. Hvis du vil implementere denne nyligt tilføjede PostgreSQL DB CDC-kilde, skal du vælge Publicer. Når du har fuldført disse trin, er din PostgreSQL DB CDC-kilde tilgængelig til visualisering i livevisning.

    Et skærmbillede af streaming af PostgreSQL DB CDC-kilde i livevisning.

Andre connectors: