Kildekontrolelement (prøveversion)

Gælder for:✅ Warehouse i Microsoft Fabric

Denne artikel forklarer, hvordan Git-integrations- og implementeringspipelines fungerer for lagre i Microsoft Fabric. Få mere at vide om, hvordan du konfigurerer en forbindelse til dit lager, administrerer dine lagre og udruller dem på tværs af forskellige miljøer. Versionskontrol for Fabric Warehouse er i øjeblikket en forhåndsvisningsfunktion.

Du kan bruge både Git-integration og udrulningspipelines til forskellige scenarier:

  • Brug Git- og SQL-databaseprojekter til at håndtere inkrementelle ændringer, teamsamarbejde og commit-historik i individuelle databaseobjekter.
  • Brug udrulningspipelines til at fremhæve kodeændringer i forskellige præproduktions- og produktionsmiljøer.

Integration af gitter

Git-integration i Microsoft Fabric gør det muligt for udviklere at integrere deres udviklingsprocesser, værktøjer og bedste praksis direkte i Fabric-platformen. Det giver udviklere, der udvikler i Fabric, mulighed for at:

  • Sikkerhedskopiér og version af deres arbejde
  • Vend tilbage til forrige faser efter behov
  • Samarbejd med andre eller arbejd alene ved at bruge Git-grene
  • Anvend funktionerne fra velkendte versionsstyringsværktøjer til at håndtere Fabric-elementer

Du kan få flere oplysninger om Git-integrationsprocessen under:

Konfigurer en forbindelse til kildestyring

Fra siden Indstillinger for arbejdsområde kan du nemt konfigurere en forbindelse til dit lager for at bekræfte og synkronisere ændringer.

  1. Hvis du vil konfigurere forbindelsen, skal du se Kom i gang med Git-integration. Følg instruktionerne for at Connect til et Git-repo for enten at Azure DevOps eller GitHub som Git-udbyder.
  2. Når de er tilsluttet, vises dine varer, herunder lagre, i kontrolpanelet Kilde . Skærmbillede fra lagerets Fabric-portal i versionsstyringsindstillingerne.
  3. Når du har oprettet forbindelse mellem lagerforekomsterne og Git-lageret, kan du se lagermappestrukturen i lageret. Du kan nu udføre fremtidige handlinger, f.eks. oprette en pullanmodning.

Databaseprojekter for et lager i Git

Følgende billede er et eksempel på filstrukturen for hvert lagerelement i lageret:

Skærmbillede fra Fabric-portalen af et eksempel på et lagerskema.

Når du sender lagervaren til Git-lageret, konverteres lageret til et kildekodeformat som et SQL-databaseprojekt. Et SQL-projekt er en lokal repræsentation af SQL-objekter, der omfatter skemaet for en enkelt database, f.eks. tabeller, lagrede procedurer eller funktioner. Databaseobjekternes mappestruktur er organiseret efter skema/objekttype. Hvert objekt på lageret repræsenteres med en .sql fil, der indeholder DDL-definitionen (Data Definition Language). Warehouse-tabeldata og SQL-sikkerhedsfunktioner er ikke inkluderet i SQL-databaseprojektet.

Delte forespørgsler sendes også til lageret og nedarver det navn, de gemmes som.

Udrulningspipelines

Du kan også bruge udrulningspipelines til at udrulle din lagerkode på tværs af forskellige miljøer, f.eks. udvikling, test og produktion. Udrulningspipelines viser ikke et databaseprojekt.

Brug følgende trin til at fuldføre din warehouse-udrulning ved at bruge deployment-pipelinen.

  1. Opret en ny udrulningspipeline, eller åbn en eksisterende udrulningspipeline. Du kan få flere oplysninger under Kom i gang med udrulningspipelines.
  2. Tildel arbejdsområder til forskellige faser i henhold til dine udrulningsmål.
  3. Vælg, se og sammenlign varer, inklusive lagre, mellem forskellige faser, som vist i det følgende eksempel. Skærmbillede fra Fabric-portalen for udviklings-, test- og produktionsfaserne.
  4. Vælg Implementer for at installere dine lagersteder på tværs af udviklings-, test- og produktionsfaserne .

For mere information om processen med Fabric implementeringspipelines, se Introduktion til implementeringspipelines.

Begrænsninger i kildestyring

Begrænsninger i Git-integration

  • I øjeblikket, hvis du bruger ALTER TABLE det til at tilføje en begrænsning eller kolonne i databaseprojektet, dropper udrulningsprocessen tabellen og genskaber tabellen, hvilket resulterer i datatab. For at bevare tabeldefinitionen og dataene bør du overveje følgende løsning:
    • Opret en ny kopi af tabellen i lageret ved at bruge CREATE TABLE og INSERT, CREATE TABLE AS SELECT, eller Klon-tabellen.
    • Ændr den nye tabeldefinition med nye begrænsninger eller kolonner, efter ønsket, ved at bruge ALTER TABLE.
    • Slet den gamle tabel.
    • Omdøb den nye tabel til navnet på den gamle tabel ved at bruge sp_rename.
    • Rediger definitionen af den gamle tabel i SQL-databaseprojektet på nøjagtig samme måde. SQL-databaseprojektet for lageret i kildestyringen og det dynamiske lager skal nu stemme overens.
  • Lige nu bør du ikke oprette en Dataflow Gen2 med en outputdestination til lageret. Et nyt element med navn DataflowsStagingWarehouse dukker op i repositoryet og blokerer committing og opdatering fra Git.
  • Fabric Git-integration understøtter ikke SQL-analyse-endpoint-elementet.
  • Tværpunktsafhængigheder, varesekvensering og synkroniseringshuller mellem SQL-analyse-endpointet og lageret påvirker "at forgrene sig til et nyt eller eksisterende arbejdsområde" og "skifte til en anden gren" arbejdsgange under udvikling og kontinuerlig integration.

Begrænsninger for udrulningspipelines

  • I øjeblikket, hvis du bruger ALTER TABLE det til at tilføje en begrænsning eller kolonne i databaseprojektet, dropper udrulningsprocessen tabellen og genskaber tabellen, hvilket resulterer i datatab.
  • Lige nu bør du ikke oprette en Dataflow Gen2 med en outputdestination til lageret. Et nyt element med navn DataflowsStagingWarehouse dukker op i deployment-pipelinen og blokerer deployment.
  • Fabric Deployment-pipelines understøtter ikke SQL analytics endpoint-elementet.
  • Afhængigheder på tværs af items, item sequencing og synkroniseringshuller mellem SQL-analyseendpointet og lageret påvirker Fabric Deployment Pipelines workflows.

Ikke-understøttede scenarier

Følgende CI/CD-arbejdsgange understøttes ikke officielt, når lagre i forskellige arbejdsområder har forskellige kollationer. Selvom disse operationer måske lykkes uden fejl, kan de resultere i metadatafejl.

I alle disse scenarier, hvis der opstår en sammenligning i sammenligningen, skal Python-scriptet scripts/dw-collation-error-update-tmsl/pbi_interactive.py i Fabric toolbox GitHub-repositoriet til at opdatere datasættet (TMSL)-kollationen, så den matcher lagerets kollation.

scenarie Beskrivelse Risiko
Udrulning pipelines Promovering af warehouse-indhold gennem pipeline-faser (for eksempel Dev → Test → Prod), hvor mål-warehouset blev oprettet med en anden sammenstilling end kildekoden, understøttes ikke. Implementering kan lykkes, men datasættets samling opdateres ikke til at matche mållagerets samling.
Udvidelse til et nyt eller eksisterende arbejdsområde At bruge Git-integration til at udvide fra et eksisterende arbejdsområde til et nyt eller eksisterende arbejdsområde, hvor lageret har en anden sortering, understøttes ikke. Warehouse-indholdet synkroniseres, men samlingsmetadataene bliver ikke afstemt.
Skiftegrene på et arbejdsområde At skifte til en gren, der var tilknyttet et lager af en anden sammenstilling på et Git-forbundet arbejdsområde, understøttes ikke. Synkroniseret indhold kan overføre samlingsantagelser, der ikke matcher det nuværende lager.
Sammenfletting af ændringer mellem arbejdsområder gennem grene At sammenflette Git-grene på tværs af arbejdsområder, hvor lagrene har forskellige kollations, understøttes ikke. Merge kan lykkes på Git-niveau, men den resulterende datasæt-samling afspejler ikke mållagerets samling.