Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Vzťahuje sa na: ✅ Sklad v Microsoft Fabric
Tento článok vysvetľuje výhody vývoja a nasadzovania Fabric Data Warehouse s integrovanou integráciou Git Fabric.
Important
Táto funkcia je vo verzii Preview.
Použitím integrácie Git v Fabric môžu tímy aplikovať moderné postupy správy zdrojových kódov pri vývoji v sklade. Vývojári môžu izolovať zmeny vo vetvách, sledovať vývoj schémy prostredníctvom commitov, spolupracovať prostredníctvom pull requestov a synchronizovať aktualizácie medzi Git repozitármi a Fabric pracovnými priestormi.
Typické scenáre zahŕňajú:
- Bezpečné vyvíjanie zmien schémy vo vetvách a pracovných priestoroch
- Verzionovanie warehouse objektov v Gite
- Spolupráca naprieč viacerými pobočkami a pracovnými priestormi
- Podpora overených zmien medzi vetvami
- Udržiavanie pracovných položiek (skladových a iných) v súlade so zdrojom pravdy v Gite
Aby ste udržali konzistentnosť, sledovateľnosť a spoľahlivosť naprieč životnými cyklami vývoja skladu, musíte tieto pracovné postupy pochopiť.
Keď pripojíte Fabric Data Warehouse pracovný priestor k Gitu, commitujete definície skladu ako databázový projekt. Tento projekt sa stáva autoritatívnou reprezentáciou skladovej schémy v riadení zdrojov a slúži ako základ pre pokračujúce vývojové aktivity. V prieskumníku správy zdrojového kódu sa schéma zobrazuje ako jednotlivé .sql súbory.
Použitím Fabric Git Integration and Fabric Data Warehouse môžete:
- Vyvíjajte Fabric Data Warehouse pomocou integrácie s Gitom.
- Nasadzujte Fabric Data Warehouse pomocou nasadzovacích pipeline.
- Nasadzujte a nasadzujte nepretržite pomocou portálu Fabric, Gitu, vlastného IDE alebo lokálneho vývojového prostredia, Fabric nasadzovacích pipeline alebo externých systémov kontinuálnej integrácie/kontinuálneho nasadzovania (CI/CD), vrátane pipeline v Azure DevOps Services alebo GitHub.
Porovnanie
Počas tohto synchronizačného procesu Fabric používa inkrementálne nasadenie schémy založené na DacFx na aplikáciu zmien. Tento prístup aplikuje len relevantné rozdiely schémy na sklad, namiesto aktualizácie celej definície skladu.
Inkrementálna extrakcia pomáha znižovať zbytočnú fluktuáciu v riadení zdrojových kódov, udržiavať čistejšie rozdiely v schémach medzi vetvami a podporovať efektívne vetvenie a zlučovanie pracovných postupov. Keďže proces extrakcie je uvedomelý na schému, umožňuje to aj spoľahlivé porovnanie a validáciu medzi stavom pracovného priestoru a Git-tracked definíciami.
Štandardizácia spôsobu extrakcie a ukladania skladových schém zlepšuje konzistenciu naprieč vývojovými prostrediami. Definície schém zostávajú stabilné naprieč vetvami, rozdiely presnejšie odrážajú zámerné zmeny vo vývoji a riadenie zdrojového kódu sa stáva spoľahlivým základom pre nasadenie, spoluprácu a riadenie životného cyklu.
Samotný XMLA.json súbor je počas pracovných postupov integrácie Git vylúčený. Fabric tento súbor vylučuje z commitov a aktualizácií, takže predvolené sémantické model metadáta nie sú neúmyselne uložené v Gite. Pri synchronizácii pracovného priestoru z Gitu sa ignoruje, XMLA.json čo pomáha predchádzať konfliktom, neúmyselným prepísaniam a šumu počas prepínania vetiev alebo aktualizácií z Gitu.
Obmedzenia v zdrojovom ovládaní
Bezpečnostné funkcie SQL, ako sú oprávnenia, vyžadujú skriptový prístup pre export a migráciu. Zvážte použitie post-deployment skriptu v SQL databázovom projekte. V projekte si môžete nakonfigurovať post-deployment skript s rozšírením SQL Database Projects dostupným vo Visual Studio Code.
Závislosti medzi jednotlivými položkami medzi skladmi a SQL analytickými endpointmi momentálne nie sú podporované vo vývojových pracovných postupoch. V dôsledku toho scenáre založené na koordinovaných zmenách týchto položiek nemusia spoľahlivo fungovať.
Skripty pred nasadením alebo po nasadení a dodatočné konfigurácie publikovania pridané priamo do databázového projektu cez Git nie sú súčasťou vývojových pracovných postupov. Možno budete musieť tieto konfigurácie spravovať samostatne mimo pracovného priestoru Fabric.
Selektívne commity na úrovni skladu momentálne nie sú podporované. Zmeny sa vykonávajú na úrovni skladových položiek, nie na jemnejších, detailných úrovniach objektov.
Podpora správy verzií pre SQL analytické endpointy momentálne nie je dostupná. Toto obmedzenie môže obmedziť end-to-end riadenie životného cyklu, keď riešenia pokrývajú sklady aj SQL analytické koncové body.
Obmedzenia integrácie Git
- Keď sa dve alebo viac skladových položiek navzájom vzťahujú, vytvárajú cyklickú závislosť. Systém detekuje tento kruhový odkaz počas synchronizácie medzi rozvetvením alebo Git-to-workspace, čo spôsobuje zlyhanie týchto operácií. Vyhnite sa cyklickým závislostiam medzi položkami.
- Momentálne nevytvárajte Dataflow Gen2 s výstupnou destináciou do skladu. V repozitári sa objaví nová položka s názvom
DataflowsStagingWarehousea blokuje commitovanie a aktualizáciu z Gitu. - Závislosti medzi položkami, sekvenovanie položiek a medzery v synchronizácii medzi SQL analytickým endpointom a skladom ovplyvňujú pracovné postupy "rozvetvenie na nový alebo existujúci pracovný priestor" a "prechod na inú vetvu" počas vývoja a kontinuálnej integrácie.
- Ak objekt odkazuje na iný objekt v tom istom sklade pomocou trojdielneho pomenovania (),
database.schema.objectcommitovanie alebo aktualizácia z Gitu môže zlyhať. Pre viac informácií a obchádzku pozri Odkazy na objekty skladu s použitím trojdielneho názvu. - Ak zmeníte definovaný stĺpec
IDENTITY, commitovanie alebo aktualizácia z Gitu môže zlyhať, kýmIDENTITY_INSERTnie je pre tabuľku povolená. - Ak repozitár obsahuje súbor,
.sqlprojktorý pinuje staršiuMicrosoft.Build.Sqlverziu SDK, commitovanie alebo aktualizácia z Gitu môže zlyhať, pretože staršie SDK nerozpoznáva novšiu skladovú syntax, akoIDENTITYsú stĺpce aCLUSTER BY. Pre viac informácií a obchádzku pozri Out-of-date .sqlproj v Git repozitári. - Ak objekt odkazuje na dve alebo viac tabuliek v inom sklade bez alias-kvalifikácie každého stĺpca, commit alebo aktualizácia z Gitu môže zlyhať. Pre viac informácií a riešenie pozri Nekvalifikované stĺpce v objektoch, ktoré odkazujú na dve alebo viac tabuliek v inom sklade.
- Ak vaše skripty odkazujú na dva alebo viac rôznych objektov v tej istej schéme iného skladu a napíšu názov schémy s nekonzistentným veľkým písmenom, commitovanie alebo aktualizácia z Gitu môže zlyhať. Pre viac informácií a riešenie pozri Nekonzistentné veľké písmená názvov schém.
- Nejednoznačné chyby stĺpcov, ktorých kandidátsky zoznam obsahuje oddeľovač,
::sa môžu vyskytnúť pri commitovaní alebo aktualizácii z Gitu, aj keď neexistuje skutočná nejednoznačnosť. Pre viac informácií a obchádzky pozri Nejednoznačné chyby stĺpcov s duplicitnými kandidátnymi objektmi.
Nepodporované scenáre
Nasledujúce CI/CD pracovné postupy nie sú oficiálne podporované, keď sklady v rôznych pracovných priestoroch majú rôzne kolácie. Aj keď tieto operácie môžu byť úspešné bez chýb, môžu viesť k chybám v metadátach.
Vo všetkých týchto situáciách, ak dôjde k nesúladu v kolácii, použite Python skript scripts/dw-collation-error-update-tmsl/pbi_interactive.py v Fabric toolbox GitHub repozitári na aktualizáciu kolácie dátovej sady (TMSL) tak, aby zodpovedala skladovej kolácii.
| Scenár | Opis | Riziko |
|---|---|---|
| Kanály nasadenia | Podpora obsahu skladu cez fázy pipeline (napríklad Dev → Test → Prod), kde bol cieľový sklad vytvorený s inou koláciou ako zdroj, nie je podporovaná. | Nasadenie môže byť úspešné, ale kolácia dátovej sady sa neaktualizuje, aby zodpovedala kolácii cieľového skladu. |
| Rozšírenie do nového alebo existujúceho pracovného priestoru | Používanie integrácie s Gitom na rozšírenie z existujúceho pracovného priestoru do nového alebo existujúceho pracovného priestoru, kde má sklad inú triedu, nie je podporované. | Obsah skladu je synchronizovaný, ale metadáta triedenia nie sú zosúladené. |
| Prepínanie vetiev v pracovnom priestore | Prechod na vetvu, ktorá bola spojená so skladom inej kolácie na pracovnom priestore pripojenom k Gitu, nie je podporovaný. | Synchronizovaný obsah môže preniesť predpoklady kolácie, ktoré nezodpovedajú aktuálnemu skladu. |
| Zlučovanie zmien medzi pracovnými priestormi cez vetvy | Zlučovanie Git vetiev medzi pracovnými priestormi, kde sklady majú rôzne triedenia, nie je podporované. | Merge môže byť úspešný na úrovni Gitu, ale výsledná kolácia dátovej sady neodráža koláciu cieľového skladu. |