Delta endre datafeed i speiling for Fabric

Delta Change Data Feed (CDF) fanger opp innsettinger, oppdateringer og slettinger, og anvender dem deretter på Delta Lake-tabeller i OneLake. Denne flyten støtter nesten sanntidsanalyse uten full omlading eller tunge ETL-pipelines.

  • Behandler kontinuerlig inkrementelle endringer (deltabaserte).
  • Bruker kun endringsprosessering.
  • Støtter nedstrøms inkrementell prosessering.
  • Er tilgjengelig for alle speilingskilder, inkludert åpne speilingspartnere.

Forutsetning

  • En Microsoft Fabric-kapasitet (F2 eller høyere) eller Fabric-prøve.
  • En speilet database i et Fabric-arbeidsområde.
  • En Fabric Lakehouse finnes i samme eller et annet arbeidsområde (for å spørre CDF-data)

Aktiver delta-endringsdatafeed i Fabric-portalen

Aktiver delta-endringsdatafeed for hver speilet database.

  1. For enhver speilet kilde, velg tannhjulsikonet for å åpne konfigurasjonsdashbordet.
  2. Under Delta-tabelladministrasjon, velg avkrysningsboksen for å aktivere delta-endringsdatafeed.

Skjermbilde av Oracle Database speilingskonfigurasjonsdashboard som viser delta-endringsinnstillinger for datafeed, OneLake datatilgangsalternativer og replikasjonsstatus.

Aktiver delta-endringsdatafeed ved å bruke API-er

For å aktivere delta-endringsdatafeed ved bruk av API-er, se Aktiver delta-endringsdatafeed for en speilet database.

Aktiver delta-endringsdatafeed for eksisterende tabeller

Hvis du opprettet din speilede database før CDF ble tilgjengelig, kan du aktivere CDF ved å bruke Fabric REST API. Prosessen henter den nåværende definisjonen, legger til CDF-egenskapen og oppdaterer definisjonen.

  1. Hent definisjonen av den speilede databasen:

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getDefinition
    
  2. Dekode nyttelasten mirroring.json fra responsen. Nyttelasten er Base64-kodet.

  3. Legg til "enableDeltaChangeDataFeed": true i seksjonen target.typeProperties :

    {
      "properties": {
        "source": { ... },
        "target": {
          "type": "MountedRelationalDatabase",
          "typeProperties": {
            "defaultSchema": "dbo",
            "format": "Delta",
            "enableDeltaChangeDataFeed": true,
            "retentionInDays": 1
          }
        }
      }
    }
    
  4. Koder den oppdaterte JSON-en på nytt til Base64, og oppdater deretter definisjonen:

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/updateDefinition
    

Etter at du har oppdatert definisjonen, hent den igjen og bekreft at det enableDeltaChangeDataFeed er true.

Søk endringsdata

Viktig

For å spørre CDF-data må du først lage en Lakehouse-snarvei som peker til den speilede databasetabellen. Du kan ikke spørre CDF-data direkte fra det speilede databaseelementet. Snarveien gjør _change_data filer tilgjengelige fra Spark.

  1. Lag en snarvei til Lakehouse:

    1. I ditt Fabric-arbeidsområde, åpne eller lag et Lakehouse.
    2. I Lakehouse-utforskeren, velg Ny snarvei.
    3. Velg Microsoft OneLake som kilde.
    4. Gå til den speilede databasen og velg tabellen du vil spørre.
    5. Velg Lag for å fullføre snarveien.
  2. Åpne en Fabric-notatbok som er festet til Lakehouse-en din og bruk ett av følgende alternativer for å spørre endringsdata:

Alternativ A: Les endringer fra en spesifikk versjon

Bruk readChangeFeed alternativet med startingVersion for å lese alle CDF-endringer fra en spesifikk Delta-tabellversjon videre. Bytt <lakehouse_name> ut og <table_name> med dine Lakehouse- og bordnavn.

df = spark.read.format("delta") \
    .option("readChangeFeed", "true") \
    .option("startingVersion", 0) \
    .table("<lakehouse_name>.<table_name>")

df.show()

Alternativ B: Les endringer innenfor et tidsstempelområde

Bruk readChangeFeed alternativet med startingTimestamp og endingTimestamp for å lese CDF-endringer innenfor et bestemt tidsvindu.

df = spark.read.format("delta") \
    .option("readChangeFeed", "true") \
    .option("startingTimestamp", "2025-01-01T00:00:00Z") \
    .option("endingTimestamp", "2025-01-02T00:00:00Z") \
    .table("<lakehouse_name>.<table_name>")

df.show()

Alternativ C: Bruk SQL-syntaks

Bruk SQL-funksjonen table_changes() for å spørre CDF-data. Denne tilnærmingen fungerer i alle Spark SQL-kontekster.

df = spark.sql("""
    SELECT * FROM table_changes('<lakehouse_name>.<table_name>', 0)
""")

df.show()

Nedstrøms forbruksalternativer

Delta-endringsdatafeed støtter flere nedstrøms forbruksveier:

Forbruksmetode Beskrivelse Status
Spark-notatbøker Søk i endringsdata ved hjelp av readChangeFeed eller table_changes() via en snarvei i Lakehouse. Tilgjengelig nå
Kopier jobb Bruk Copy Job for å lese CDF-endringer fra en Fabric Lakehouse og replikere gradvis til destinasjoner som SQL, Snowflake, Fabric Lakehouse og mer. Lag en snarvei fra den speilede databasen til en Lakehouse, deretter leser Copy Job endringer fra Lakehouse. Direkte speilet database til Copy Job-støtte er under utvikling. Tilgjengelig nå (via Lakehouse snarvei); Direkte støtte kommer snart
Hendelsesstrømmer (Speilet databaseendringsstrømskobling) Stream CDF endres fra speilede databaser direkte til Fabric Eventstreams for lav-latens, hendelsesdrevne applikasjoner. Oppdag CDF-aktiverte databaser i Real-Time Hub, lag en Eventstream, og rute til destinasjoner som Eventhouse eller sett opp Activator-varsler. Forhåndsversjon
Datasamlebånd Datapipelines støtter ikke inkrementell kopiering fra CDF. Du kan bruke notatbøker i pipelines for å oppnå inkrementell prosessering. Tilgjengelig løsning

Priser

Obs!

Fakturering for utvidede funksjoner ble gjenopptatt i alle regioner fra uken rundt 25. mai. 2026. UX-støtte for å aktivere utvidede funksjoner er også gjenaktivert, men du kan også utvide mulighetene via API-er.

Speiling uten utvidede muligheter er gratis.

Viktige prispresiseringer:

  • Fakturering er bruksbasert. Du blir kun fakturert for den inkrementelle beregningen som brukes når CDF behandler reelle endringer. Det er ingen avgifter for inaktiv tid eller tomme kjøringer (perioder hvor det ikke skjer endringer i kildedata).
  • Kjernespeiling forblir gratis. Å aktivere CDF endrer ikke prisen for kjernespeiling. Kontinuerlig replikering, Delta Lake-konvertering, OneLake-integrasjon og SQL-analyseendepunkter er fortsatt gratis.
  • Lagring for speiling er gratis. Lagring for speilede data i OneLake faktureres ikke separat. Men aktivering av CDF øker lagringsforbruket på grunn av flere _change_data filer.
  • CDF er et tillegg, ikke en erstatning. CDF-fakturering gjelder kun for utvidet kapabilitetsberegning. Den belaster ikke retroaktivt for kjerne-speilaktivitet.
  • Du kan kontrollere kostnaden ved å aktivere CDF selektivt. CDF er aktivert på speildatabasenivå. Aktiver CDF kun på de speilede databasene som krever inkrementell behandling, og la andre være på kjerne-speiling.

For full prismodell, målingsdetaljer og faktureringsomfang, se Fakturering for utvidede muligheter i speiling.