Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:✅ Warehouse in Microsoft Fabric
In dit artikel wordt uitgelegd hoe Git-integratie- en implementatiepijplijnen werken voor magazijnen in Microsoft Fabric. Meer informatie over het instellen van een verbinding met uw opslagplaats, het beheren van uw magazijnen en het implementeren ervan in verschillende omgevingen. Broncodebeheer voor Fabric Warehouse is momenteel een preview-functie.
U kunt zowel Git-integratie - als implementatiepijplijnen gebruiken voor verschillende scenario's:
- Gebruik Git- en SQL-databaseprojecten om incrementele wijziging, teamsamenwerking en doorvoergeschiedenis in afzonderlijke databaseobjecten te beheren.
- Gebruik implementatiepijplijnen om codewijzigingen te promoten in verschillende preproductie- en productieomgevingen.
Git-integratie
Met Git-integratie in Microsoft Fabric kunnen ontwikkelaars hun ontwikkelprocessen, hulpprogramma's en best practices rechtstreeks integreren in het Fabric-platform. Hiermee kunnen ontwikkelaars die zich ontwikkelen in Fabric:
- Backup en versiebeheer van hun werk
- Naar behoefte terugkeren naar vorige fasen
- Samenwerken met anderen of alleen werken met behulp van Git-vertakkingen
- De mogelijkheden van vertrouwde hulpprogramma's voor broncodebeheer toepassen om Fabric items te beheren
Zie voor meer informatie over het Git-integratieproces:
- Wat is Microsoft Fabric Git-integratie?
- Basisconcepten in Git-integratie
- Aan de slag met Git-integratie
Een verbinding met broncodebeheer instellen
Op de pagina Werkruimte-instellingen kunt u eenvoudig een verbinding met uw opslagplaats instellen om wijzigingen door te voeren en te synchroniseren.
- Zie Aan de slag met Git-integratie om de verbinding in te stellen. Volg de instructies om verbinden met een Git-repo met Azure DevOps of GitHub als Git-provider.
- Zodra u verbinding hebt gemaakt, worden uw items, inclusief magazijnen, weergegeven in het configuratiescherm Bron.
- Nadat u de warehouse-instanties succesvol hebt verbonden met de Git-repo, ziet u de mapstructuur van het warehouse in de repo. U kunt nu toekomstige bewerkingen uitvoeren, zoals het maken van een pull-aanvraag.
Databaseprojecten voor een magazijn in Git
De volgende afbeelding is een voorbeeld van de bestandsstructuur van elk magazijnitem in de opslagplaats:
Wanneer u het warehouse-item committeert naar de Git-repository, wordt het warehouse geconverteerd naar een broncodeformaat, als een SQL-databaseproject. Een SQL-project is een lokale weergave van SQL-objecten die deel uitmaken van het schema voor één database, zoals tabellen, opgeslagen procedures of functies. De mapstructuur van de databaseobjecten is ingedeeld op schema/objecttype. Elk object in het magazijn wordt weergegeven met een .sql-bestand dat de DDL-definitie (Data Definition Language) bevat. Gegevens van magazijntabellen en SQL-beveiligingsfuncties zijn niet opgenomen in het SQL-databaseproject.
Gedeelde query's worden ook toegevoegd aan de repository en krijgen de naam waaronder ze zijn opgeslagen.
Implementatiepijplijnen
U kunt ook implementatiepijplijnen gebruiken om uw magazijncode in verschillende omgevingen te implementeren, zoals ontwikkeling, test en productie. Implementatiepijplijnen maken geen databaseproject beschikbaar.
Gebruik de volgende stappen om uw magazijnimplementatie te voltooien met behulp van de implementatiepijplijn.
- Maak een nieuwe implementatiepijplijn of open een bestaande implementatiepijplijn. Zie Aan de slag met implementatiepijplijnen voor meer informatie.
- Wijs werkruimten toe aan verschillende fasen op basis van uw implementatiedoelen.
- Items selecteren, weergeven en vergelijken, inclusief magazijnen, tussen verschillende fasen, zoals wordt weergegeven in het volgende voorbeeld.
- Selecteer Implementeren om uw magazijnen te implementeren in de fasen Ontwikkeling, Testen en Productie .
Zie Introductie tot implementatiepijplijnen voor meer informatie over het Fabric-implementatiepijplijnenproces.
Beperkingen in broncodebeheer
- U moet SQL-beveiligingsfuncties exporteren of migreren met behulp van een op scripts gebaseerde benadering. Overweeg het gebruik van een script na de implementatie in een SQL-databaseproject. U kunt dit script configureren door het project te openen met de extensie SQL Database Projects beschikbaar in Visual Studio Code.
Beperkingen in Git-integratie
- Momenteel, als u met behulp van
ALTER TABLEeen beperking of kolom toevoegt in het databaseproject, wordt de tabel door het implementatieproces verwijderd en opnieuw aangemaakt, wat resulteert in gegevensverlies. Als u de tabeldefinitie en -gegevens wilt behouden, kunt u de volgende tijdelijke oplossing overwegen:- Maak een nieuwe kopie van de tabel in het magazijn door gebruik te maken van
CREATE TABLE,INSERT,CREATE TABLE AS SELECT, of Clone table. - Wijzig de nieuwe tabeldefinitie met nieuwe beperkingen of kolommen, naar wens, met behulp van
ALTER TABLE. - Verwijder de oude tabel.
- Wijzig de naam van de nieuwe tabel in de naam van de oude tabel met behulp van sp_rename.
- Wijzig de definitie van de oude tabel in het SQL-databaseproject op exact dezelfde manier. Het SQL-databaseproject van het magazijn in broncodebeheer en het livewarehouse moet nu overeenkomen.
- Maak een nieuwe kopie van de tabel in het magazijn door gebruik te maken van
- Maak op dit moment geen Dataflow Gen2 met een uitvoerbestemming naar het datamagazijn. Er verschijnt een nieuw item met de naam
DataflowsStagingWarehousein de opslagplaats, waardoor het doorvoeren en bijwerken vanuit Git wordt geblokkeerd. - Fabric Git-integratie biedt geen ondersteuning voor het SQL Analytics-eindpuntitem.
- Afhankelijkheden tussen items, itemvolgordebepaling en synchronisatieverschillen tussen het SQL Analytics-eindpunt en het datamagazijn hebben invloed op de werkstromen 'branching naar een nieuwe of bestaande werkruimte' en 'overschakelen naar een andere branch' tijdens de ontwikkeling en continue integratie.
Beperkingen voor implementatiepijplijnen
- Momenteel, als u
ALTER TABLEgebruikt om een beperking of kolom toe te voegen in het databaseproject, wordt de tabel verwijderd en opnieuw gemaakt tijdens het implementatieproces, wat leidt tot gegevensverlies. - Maak nu geen Gegevensstroom Gen2 met een uitvoerbestemming naar het datawarehouse. Er verschijnt een nieuw item met de naam
DataflowsStagingWarehousein de implementatiepijplijn, waardoor de implementatie wordt geblokkeerd. - Fabric Implementatiepijplijnen bieden geen ondersteuning voor het eindpuntitem van SQL Analytics.
- Afhankelijkheden tussen items, itemvolgorde en synchronisatiekloven tussen het SQL-analyse-eindpunt en het datawarehouse beïnvloeden Fabric-implementatiepijplijnwerkstromen.
Niet ondersteunde scenario's
De volgende CI/CD-werkstromen worden niet officieel ondersteund wanneer magazijnen in verschillende werkruimten verschillende sorteringen hebben. Hoewel deze bewerkingen zonder fouten kunnen slagen, kunnen ze leiden tot metagegevensfouten.
Als in al deze scenario's een sortering niet overeenkomt, gebruikt u het Python script scripts/dw-collation-error-update-tmsl/pbi_interactive.py in de Fabric toolbox GitHub repository om de sortering van de dataset (TMSL) bij te werken zodat deze overeenkomt met de sortering van het magazijn.
| Scenario | Beschrijving | Risico |
|---|---|---|
| Implementatiepijplijnen | Het promoten van magazijninhoud via pijplijnfasen (bijvoorbeeld Dev → Test → Prod) waarbij het doelwarehouse is gemaakt met een andere sortering dan de bron wordt niet ondersteund. | De implementatie kan slagen, maar de sortering van de gegevensset wordt niet bijgewerkt zodat deze overeenkomt met de sortering van het doelwarehouse. |
| Vertakking naar een nieuwe of bestaande werkruimte | Het gebruik van Git-integratie om vanuit een bestaande werkruimte te vertakken naar een nieuwe of bestaande werkruimte waar het magazijn een andere sortering heeft, wordt niet ondersteund. | Warehouse-inhoud wordt gesynchroniseerd, maar de sorteringsmetagegevens worden niet afgestemd. |
| Branches wisselen in een werkruimte | Overschakelen naar een branch die is gekoppeld aan een magazijn met een andere sorteringsvolgorde in een met Git verbonden werkruimte wordt niet ondersteund. | Gesynchroniseerde inhoud kan sorteringsveronderstellingen bevatten die niet overeenkomen met het huidige magazijn. |
| Wijzigingen tussen werkruimten samenvoegen via branches | Het samenvoegen van Git-vertakkingen in werkruimten waarin de magazijnen verschillende sorteringen hebben, wordt niet ondersteund. | Samenvoegen kan op Git-niveau worden uitgevoerd, maar de resulterende sortering van de gegevensset komt niet overeen met de sortering van het doelwarehouse. |