Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
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
Adgang til et arbejdsområde i Fabric-kapacitetslicenstilstand (eller) prøvelicenstilstand med bidragydertilladelser eller højere tilladelser.
Registreret brugeradgang i PostgreSQL-databasen.
Din PostgreSQL-database skal være offentligt tilgængelig og ikke være bag en firewall eller være sikret i et virtuelt netværk.
CDC er aktiveret i PostgreSQL-databasen og -tabellerne.
Hvis du har Azure Database til PostgreSQL, skal du følge trinnene i næste afsnit for at aktivere CDC. Du kan finde detaljerede oplysninger under Logisk replikering og logisk afkodning – Azure Database for PostgreSQL – Flexible Server.
Du kan se andre PostgreSQL-databaser under Debezium-connector til PostgreSQL :: Dokumentation til Debezium.
Hvis du ikke har en eventstream, skal du oprette en eventstream.
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:
På siden Azure Database for PostgreSQL Flexible Server i Azure-portal skal du vælge Serverparametre i navigationsmenuen.
På siden Serverparametre:
- Angiv wal_level til logisk.
- Opdater max_worker_processes til mindst 16.
Gem ændringerne, og genstart serveren.
Bekræft, at din Forekomst af Azure Database til PostgreSQL Flexible Server tillader offentlig netværkstrafik.
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.
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.
På siden Vælg en datakilde skal du søge efter og vælge Opret forbindelse på CDC(PostgreSQL DB) felt.
Konfigurer og opret forbindelse til PostgreSQL Database CDC
Vælg Ny forbindelse på siden Opret forbindelse.
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.
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.
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.
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.tableNameeller gyldige regulære udtryk. Eksempler: -
dbo.test.*: Vælg alle tabeller, hvis navne starter medtesti skemaetdbo. -
dbo\.(test1|test2): Vælgdbo.test1ogdbo.test2.
Du kan kombinere begge formater på listen. Den samlede tegngrænse for hele posten er 102.400 tegn.
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.
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- ogNUMERICkolonneværdier:-
Precise: Repræsenterer værdier ved hjælp af præcise decimaltyper (f.eks. JavaBigDecimal) 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.
Gennemse oversigten på siden Gennemse + opret forbindelse , og vælg derefter Tilføj.
Vis opdateret hændelsesstream
Du kan se, at PostgreSQL Database CDC-kilden er føjet til din eventstream i redigeringstilstand.
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.
Relateret indhold
Andre connectors:
- Amazon Kinesis datastrømme
- Azure Cosmos DB-
- Azure Event Hubs
- Azure Service Bus
- Azure IoT Hub
- Registrering af Azure SQL Database Change Data Capture (CDC)
- Sammenløbende Kafka
- Brugerdefineret slutpunkt
- Google Cloud Pub/Sub
- Cdc til MySQL-database
- PostgreSQL-database CDC
- Eksempeldata
- Azure Blob Storage-hændelser
- Fabric-arbejdsområdehændelse