Pochopte svázání závislostí při nasazení napříč pracovními prostředími

Když nasazujete Fabric položky napříč pracovními prostory (například z vývoje přes testování až po produkci), mohou se závislosti mezi položkami narušit. Některé položky ukládají odkazy na své závislosti jako objektové ID (pracovní GUIDy), zatímco jiné používají logická ID (přenosné identifikátory napříč pracovním prostorem uložené v souboru .platform ).

Položky, které ve svých definicích používají logické ID, se správně vážou na odpovídající položku v cílovém pracovním prostoru. Položky, které používají ID objektů, zůstávají nasměrovány na zdrojový pracovní prostor, což přerušuje nasazení.

Tento článek mapuje, které typy Fabric položek podporují vazbu závislostí pomocí logických ID při použití integrace s Gitem a které nikoliv. Chcete-li se dozvědět více o logických ID a o tom, jak jsou položky reprezentovány ve zdrojovém řízení, viz Logické ID v Fabric.

Klíčové koncepty

  • Logické ID: Automaticky generovaný identifikátor napříč pracovními prostory v .platform souboru. Položky se stejným logickým ID jsou považovány za stejnou položku napříč pracovními plochami.
  • Object ID: GUID specifický pro pracovní prostor, který identifikuje konkrétní instanci. ID objektů nepřežijí nasazení napříč pracovními prostory bez manuálního zásahu nebo parametrizace.
  • Vazba závislostí (Git): Když synchronizujete větev Gitu s novým workspacem, Fabric vyřeší reference závislostí pomocí logických ID a automaticky ukáže na správný bod v cílovém workspace.
  • Podle názvu nebo podle URI: Některé položky odkazují na závislosti podle zobrazovaného názvu nebo URI místo podle ID. Tyto odkazy mohou, ale nemusí být správně rozpoznány v závislosti na pojmenovávacích konvencích mezi pracovními prostory.

Jak funguje závislostní vazba

V rámci pracovního prostoru položky odkazují na své závislosti pomocí ID objektů. Když Fabric exportuje položku do Gitu, nahrazuje některá z těchto ID objektů logickými ID ze souboru.platform. Když synchronizujete větev Gitu s jiným pracovním prostorem, Fabric tato logická ID namapuje zpět na správná objektová ID v cílovém pracovním prostoru. To je to, co dělá závislostní vazbu funkční.

Nicméně ne všechny reference závislostí jsou při exportu nahrazeny logickými ID. Položky, které uchovávají ID objektů ve své Git reprezentaci, stále po synchronizaci ukazují na původní pracovní prostor a je potřeba je aktualizovat ručně nebo parametrizací.

Important

Svázání závislostí se vztahuje pouze na odkazy mezi položkami Fabric v rámci stejného pracovního prostoru. Pokud položka odkazuje na položku Fabric v jiném pracovním prostoru, tato reference používá ID objektu a automaticky se nesváže. Odkazy na spojení (připojení datových zdrojů, brány) se také automaticky nevázají. Používejte knihovny proměnných s hodnotovými sadami specifickými pro prostředí, abyste spravovali odkazy na spojení napříč prostředími.

Kompatibilita vazeb závislostí

Následující tabulky ukazují, zda se závislosti každého typu položky Fabric správně navazují při nasazení napříč pracovními plochami. V současnosti se tento článek věnuje chování při integraci do Gitu . Protože je vazba určena způsobem, jakým každá položka ve své definici ukládá odkazy na závislosti, stejné chování platí i pro jiné mechanismy nasazení, které tyto definice znovu používají, například pro kanály nasazení a rozhraní API pro hromadný import.

Tyto tabulky předpokládají, že závislost je jiná položka ve stejném pracovním prostoru jako zdrojová položka. Odkaz na položku v jiném pracovním prostoru se nikdy automaticky nepropojí. Zůstává připnutý ke zdrojovému ID objektu bez ohledu na hodnotu uvedenou v tabulce.

Automatické přiřazení ve sloupci Git uvádí:

  • Ano: Definice položky v Gitu uchovává referenci závislosti jako logické ID. Když synchronizujete větev s novým workspacem, reference se automaticky naváže na odpovídající položku v tomto workspace.
  • Ne: Definice položky v Gitu ukládá referenci závislosti jako ID objektu (pracovní GUID). Reference pokračuje v odkazování na zdrojový pracovní prostor i po synchronizaci. Musíte ho ručně aktualizovat nebo parametrizovat pro nasazení napříč pracovními prostory.
  • Částečné: Položka vyřeší závislost podle názvu nebo URI, což může fungovat, pokud je pojmenování konzistentní napříč pracovními prostory.

Notebooks

Závislost Automatické přiřazení v Gitu Poznámky
Lakehouse Ano Vyžaduje povolení funkce „Lakehouse Auto-Binding in Git“ v nastavení poznámkového bloku. Po zapnutí je ID objektu nahrazeno logickým ID v notebook-settings.json. Toto nastavení je ve výchozím nastavení vypnuté. Pro více informací viz automatické přiřazení Lakehouse v Gitu.
Environment Ano
Zrcadlová databáze Ne

Poznámka:

Přiřazení notebooku do Lakehouse není ve výchozím nastavení zapnuté. V nastavení každého poznámkového bloku musíte zapnout možnost „Lakehouse Auto-Binding in Git“. Další informace najdete v tématu Správa zdrojového kódu a nasazení poznámkového bloku.

Reports

Závislost Automatické přiřazení v Gitu Poznámky
Sémantický model (z Power BI zprávy) Partial Zpráva odkazuje na model prostřednictvím relativní byPath reference v definition.pbir, nikoli explicitního logického ID. Správně se vyřeší, když se model nasadí na stejné relativní místo v cílovém pracovním prostoru, ale nepropojuje se přes logické ID. Pro více informací viz složka reportů Power BI Desktop projektů.
Sémantický model (z stránkované zprávy) Ne Report připojovací řetězec odkazuje na sémantický model pomocí ID, které není při nasazení přepisováno, takže zůstává zaměřeno na zdrojový model. Tuto referenci je potřeba aktualizovat pro nasazení napříč pracovními oblastmi. (Reporty vytvořené v nástroji Report Builder, které odkazují na model podle názvu, mohou být místo toho rozpoznány podle zobrazovaného názvu, což je Partial (částečné).)

Kanál

Závislost Automatické přiřazení v Gitu Poznámky
Kanál Ano
Notebook Ano
Systém toku dat Gen2 Ano
Databáze SQL Ano
Definice úlohy Sparku Ne Aktivita SparkJobDefinition odkazuje na Spark Job Definition podle ID objektu, nikoli logického ID, takže po nasazení zůstává nasměrována na zdrojový prvek. Tuto hodnotu je potřeba parametrizovat pro nasazení napříč pracovními oblastmi.
Lakehouse Ano
Sémantický model Ne Aktivita PBISemanticModelRefresh odkazuje na sémantický model podle ID položky, nikoli podle logického ID. Tuto hodnotu je potřeba parametrizovat pro nasazení napříč pracovními oblastmi.
Sklad Ne Datový sklad artifactId se určí podle logického ID a znovu se naváže, ale linkedService také ukládá SQL endpoint ze zdrojového pracovního prostoru, které se nepřepisuje. Parametrizujte endpoint pro nasazení napříč pracovními prostory.

Sémantické modely

Závislost Automatické přiřazení v Gitu Poznámky
Sémantický model Partial Řetězené nebo kompozitní modelové reference používají spojovací řetězce podle názvu.
Koncový bod analýz SQL (lakehouse) Ne Připojovací řetězec Direct Lake v TMDL expressions.tmdl obsahuje adresu URL koncového bodu specifickou pro daný pracovní prostor a identifikátor GUID databáze. Tyto parametry je potřeba nahradit pro nasazení napříč pracovními oblastmi.
Databáze KQL Ne Připojovací řetězec s identifikátorem URI clusteru ve výrazech TMDL obsahuje hodnoty specifické pro daný pracovní prostor.
databáze SQL Ne připojovací řetězec v TMDL výrazech obsahuje hodnoty specifické pro pracovní prostor.
Sklad Ne Připojení ke skladovému SQL analytics endpointu používá URL specifickou pro pracovní prostor.

Domy u jezera

Závislost Automatické přiřazení v Gitu Poznámky
Lakehouse (zkratka) Ano Interní zkratky OneLake, které odkazují na jinou položku Fabric, například na lakehouse nebo sklad, jsou uloženy jako logické ID a znovu se vážou na položku v cílovém pracovním prostoru. Zkratky k externím zdrojům, jako jsou Azure Data Lake Storage Gen2 nebo Amazon S3, ukazují mimo Fabric a nesou místo toho odkaz na spojení, takže nejsou předmětem logického ID vazby. Pro úplný seznam cílů zkratek viz OneLake shortcuts. Informace o chování nasazení viz v části Lakehouse Git integration and deployment pipelines.

Dataflow (Gen2)

Ve výchozím nastavení Dataflow Gen2 vytváří absolutní reference na položky Fabric: dotaz ukládá ID zdrojového pracovního prostoru a ID objektu položky, které nejsou při nasazení přepisovány. Odkaz na zdroj může místo toho používat relativní referenci: když v konektoru Fabric vyberete položku pod uzlem !(Current Workspace), dotaz uloží položku podle názvu (bez identifikátorů GUID) a při nasazení ji přeloží na odpovídající položku v cílovém pracovním prostoru. Výstupní destinace vždy používají absolutní reference a nepřevazují vazby. Pro cíle a pro jakýkoli absolutní zdrojový referenční bod parametrizujte hodnoty pro nasazení napříč pracovními prostory. Další informace najdete v tématech Relativní reference s konektory Fabric v Dataflow Gen2 a Dataflow Gen2 s CI/CD a integrací Git.

Zdrojové odkazy:

Závislost Automatické přiřazení v Gitu Poznámky
Lakehouse Partial Znovu se naváže pouze tehdy, pokud je vytvořen jako relativní odkaz (!(Current Workspace)); výchozí absolutní odkaz se znovu nenaváže.
Sklad Partial Znovu se naváže pouze tehdy, pokud je vytvořen jako relativní odkaz (!(Current Workspace)); výchozí absolutní odkaz se znovu nenaváže.

Odkazy na destinace:

Závislost Automatické přiřazení v Gitu Poznámky
Lakehouse Ne
Sklad Ne
Databáze SQL Ne

Definice úloh Sparku

Závislost Automatické přiřazení v Gitu Poznámky
Environment Ano
Lakehouse Ne defaultLakehouseArtifactId používá ID objektu.

Kopírovat úlohy

Závislost Automatické přiřazení v Gitu Poznámky
Lakehouse Ano
Sklad Ne Datový sklad artifactId se určí podle logického ID a znovu se naváže, ale linkedService také ukládá SQL endPoint ze zdrojového pracovního prostoru, které se nepřepisuje. Parametrizujte endPoint pro nasazení napříč pracovními prostory.
Databáze SQL Ano

rozhraní API GraphQL

Závislost Automatické přiřazení v Gitu Poznámky
Koncový bod SQL Ano
Sklad Ano
Databáze SQL Ano

U všech zdrojů dat GraphQL API možná budete muset po nasazení přenastavit připojení a přihlašovací údaje.

Eventstreams

Závislost Automatické přiřazení v Gitu Poznámky
Lakehouse Ano
Eventhouse Ano Všechny destinace jsou plně podporovány pro CI/CD, když jsou položky ve stejném pracovním prostoru. U Eventhouse s režimem Direct Ingestion možná budete muset připojení ručně přenastavit po nasazení. Pro více informací viz Eventstream CI/CD.
Aktivátor (Reflex) Ano Všechny destinace jsou plně podporovány pro CI/CD, když jsou položky ve stejném pracovním prostoru. Pro více informací viz Eventstream CI/CD.

Položky KQL

Závislost Automatické přiřazení v Gitu Poznámky
Databáze KQL do eventhouse Ano parentEventhouseItemId v DatabaseProperties.json je logický identifikátor a je svázán s cílovým eventhousem. Databáze KQL se nasazuje jako podřízený prostředek svého nadřazeného eventhouse.
Sada dotazů KQL do databáze KQL Partial Vyřeší se to přes clusterUri a databaseName, ne přes ID položky. Definice databaseItemIdobsahuje , ale je to ID objektu, které se nepřevazuje, takže rozlišení závisí na URI napříč prostředími.
Řídicí panel v reálném čase pro databázi KQL Partial Používá pole dataSources obsahující identifikátory URI clusteru. Stejný vzor jako u KQL queryset.

Sklady

Závislost Automatické přiřazení v Gitu Poznámky
Sklad (křížové odkazy) Ne Odkazy na jiné sklady používají ID objektů.
Koncový bod SQL Ne Reference na SQL Endpoint používají identifikátory specifické pro pracovní prostor.

Knihovny proměnných

Závislost Automatické přiřazení v Gitu Poznámky
Položky Fabric (typ ItemReference) Ne Proměnný typ ukládá ItemReferenceworkspaceId a itemId jako surové GUIDy. Tyto hodnoty musíte ručně aktualizovat nebo přepsat pomocí hodnotových sad pro každé prostředí.

Položky bez závislostí

Následující položky nemají žádné obavy týkající se vazby závislosti napříč pracovními prostory:

  • Environment
  • Databáze SQL
  • Eventhouse (kontejnerový předmět; Databáze KQL na ni odkazují)
  • Zrcadlená databáze (pouze konfigurace externího zdroje)

Shrnutí

Když nasazujete Fabric položky napříč pracovními prostory, mohou se závislosti mezi položkami narušit, pokud jsou reference uloženy jako ID objektů specifická pro pracovní prostor místo přenosných logických ID. Ne všechny typy položek podporují vazbu závislostí pomocí logických ID. Než nastavíte nasazení napříč pracovními prostory, prostudujte si tabulky kompatibility v tomto článku, abyste zjistili, které závislosti se automaticky vázají a které vyžadují manuální parametrizaci.