Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Når du distribuerer Fabric-elementer på tvers av arbeidsområder (for eksempel fra utvikling til test til produksjon), kan avhengigheter mellom elementer brytes. Noen elementer lagrer referanser til sine avhengigheter som objekt-ID-er (arbeidsområde-spesifikke GUID-er), mens andre bruker logiske ID-er (tverrarbeidsområde-portable identifikatorer lagret i filen .platform ).
Elementer som bruker logiske ID-er i sine definisjoner bindes korrekt til det tilsvarende elementet i målarbeidsområdet. Elementer som bruker objekt-ID-er forblir pekt mot kildearbeidsområdet, noe som bryter distribusjonen.
Denne artikkelen kartlegger hvilke Fabric-objekttyper som støtter avhengighetsbinding gjennom logiske ID-er når du bruker Git-integrasjon, og hvilke som ikke gjør det. For å lære mer om logiske ID-er og hvordan elementer representeres i kildekodekontroll, se Logical ID in Fabric.
Nøkkelbegreper
-
Logisk ID: En automatisk generert identifikator på tvers av arbeidsområder i filen
.platform. Elementer med samme logiske ID behandles som samme element på tvers av arbeidsområder. - Objekt-ID: En arbeidsområde-spesifikk GUID som identifiserer en bestemt instans. Objekt-ID-er overlever ikke distribusjon på tvers av arbeidsområder uten manuell inngripen eller parameterisering.
- Avhengighetsbinding (Git): Når du synkroniserer en Git-gren til et nytt arbeidsområde, løser Fabric avhengighetsreferanser ved hjelp av logiske ID-er, og peker automatisk på riktig element i målarbeidsområdet.
- Etter navn eller URI: Noen elementer refererer til avhengigheter etter visningsnavn eller URI i stedet for ID. Disse referansene kan eller kan ikke løses riktig, avhengig av navnekonvensjoner på tvers av arbeidsområder.
Hvordan avhengighetsbinding fungerer
Innenfor et arbeidsområde refererer elementene til sine avhengigheter ved hjelp av objekt-ID-er. Når Fabric eksporterer et element til Git, erstatter det noen av disse objekt-ID-ene med logiske ID-er fra filen.platform. Når du synkroniserer Git-grenen til et annet arbeidsområde, løser Fabric disse logiske ID-ene tilbake til riktige objekt-IDer i målarbeidsområdet. Dette er det som gjør at avhengighetsbinding fungerer.
Imidlertid blir ikke alle avhengighetsreferanser erstattet med logiske ID-er under eksport. Elementer som beholder objekt-ID-er i sin Git-representasjon peker fortsatt til det opprinnelige arbeidsområdet etter synkronisering, og du må oppdatere dem manuelt eller gjennom parameterisering.
Important
Avhengighetsbinding gjelder kun referanser mellom Fabric-elementer innenfor samme arbeidsområde. Hvis et element refererer til et Fabric-element i et annet arbeidsområde, bruker den referansen en objekt-ID og bindes ikke automatisk. Referanser til tilkoblinger (datakildetilkoblinger, gateways) bindes heller ikke automatisk. Bruk variabelbiblioteker med miljøspesifikke verdisett for å administrere tilkoblingsreferanser på tvers av miljøer.
Avhengighetsbindingskompatibilitet
Følgende tabeller viser om avhengighetene til hver Fabric-objekttype binder riktig når du deployerer på tvers av arbeidsområder. For øyeblikket dekker denne artikkelen Git-integrasjonsatferd . Fordi binding bestemmes av hvordan hvert element lagrer sine avhengighetsreferanser i sin definisjon, gjelder samme oppførsel for andre distribusjonsmekanismer som gjenbruker disse definisjonene, som distribusjonspipelines og import-API-er (bulk-)API-er.
Disse tabellene antar at avhengigheten er et annet element i samme arbeidsområde som kildeelementet. En referanse til et element i et annet arbeidsområde bindes aldri automatisk. Den forblir festet til kildeobjekt-ID-en uavhengig av verdien som vises i tabellen.
Auto-bind i Git-kolonnen indikerer:
- Ja: Varedefinisjonen i Git lagrer avhengighetsreferansen som en logisk ID. Når du synkroniserer grenen til et nytt arbeidsområde, bindes referansen automatisk til det tilsvarende elementet i det arbeidsområdet.
- Nei: Itemdefinisjonen i Git lagrer avhengighetsreferansen som en objekt-ID (workspace-specific GUID). Referansen fortsetter å peke til kildearbeidsområdet etter synkronisering. Du må manuelt oppdatere eller parameterisere det for distribusjon på tvers av arbeidsområder.
- Delvis: Elementet løser avhengigheten med navn eller URI, noe som kan fungere hvis navngivningen er konsistent på tvers av arbeidsområder.
Notebooks
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lakehouse | Ja | Krever aktivering av "Lakehouse Auto-Binding in Git" i notatbokinnstillingene. Når den er aktivert, erstattes objekt-ID-en med en logisk ID i notebook-settings.json. Denne innstillingen er deaktivert som standard. For mer informasjon, se Lakehouse auto-binding i Git. |
| Miljø | Ja | |
| Speilet database | Nei |
Note
Binding fra Notebook til Lakehouse er ikke aktivert som standard. Du må slå på innstillingen "Lakehouse Auto-Binding in Git" i hver notatboks innstillinger. For mer informasjon, se Notebook kildekode og distribusjon.
Rapporter
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Semantisk modell (fra Power BI-rapporten) | Delvis | Rapporten refererer modellen gjennom en relativ byPath referanse i definition.pbir, ikke en eksplisitt logisk ID. Den løses korrekt når modellen deployeres til samme relative plassering i målarbeidsområdet, men binder ikke gjennom en logisk ID. For mer informasjon, se Power BI Desktop prosjektrapportmappe. |
| Semantisk modell (fra paginert rapport) | Nei | Rapportens tilkoblingsstreng refererer til den semantiske modellen via en arbeidsområde-spesifikk ID som ikke skrives om ved utrulling, så den forblir pekt mot kildemodellen. Du må oppdatere denne referansen for utrulling på tvers av arbeidsområder. (Rapporter skrevet i Report Builder som refererer modellen med navn, kan i stedet løses etter visningsnavn, som er Partial.) |
Pipeline
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Pipeline | Ja | |
| Bærbare | Ja | |
| Dataflyt gen2 | Ja | |
| SQL Database | Ja | |
| Spark-jobbdefinisjon | Nei | SparkJobDefinition-aktiviteten refererer til Spark Job Definition etter objekt-ID, ikke logisk ID, slik at den forblir pekt på kildeelementet etter distribusjon. Du må parameterisere denne verdien for distribusjon på tvers av arbeidsområder. |
| Lakehouse | Ja | |
| Semantisk modell | Nei | PBISemanticModelRefresh-aktiviteten refererer til den semantiske modellen etter element-ID, ikke logisk ID. Du må parameterisere denne verdien for distribusjon på tvers av arbeidsområder. |
| Lager | Nei | Lageret artifactId løser gjennom den logiske ID-en og binder på nytt, men lagrer linkedService også SQL-koden endpointtil kildearbeidsområdet, som ikke skrives om. Parameteriser for endpoint utrulling på tvers av arbeidsområder. |
Semantiske modeller
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Semantisk modell | Delvis | Lenkede eller sammensatte modellreferanser bruker tilkoblingsstrenger etter navn. |
| SQL Analytics Endpoint (lakehouse) | Nei | Direct Lake-tilkoblingsstreng i TMDL expressions.tmdl inneholder en arbeidsplassspesifikk endepunkts-URL og database-GUID. Du må erstatte disse parameterne for distribusjon på tvers av arbeidsområder. |
| KQL-database | Nei | tilkoblingsstreng med en klynge-URI i TMDL-uttrykk inneholder arbeidsområdespesifikke verdier. |
| SQL-database | Nei | tilkoblingsstreng i TMDL-uttrykk inneholder arbeidsområdespesifikke verdier. |
| Lager | Nei | Tilkoblingen til varehusets SQL-analyseendepunkt bruker en arbeidsplassspesifikk URL. |
Sjøhus
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lakehouse (snarvei) | Ja | Interne OneLake-snarveier som peker til et annet Fabric-element, som et lakehouse eller lager, lagres som en logisk ID og bindes på nytt til mål-arbeidsområdet. Snarveier til eksterne kilder, som Azure Data Lake Storage Gen2 eller Amazon S3, peker utenfor Fabric og bærer en tilkoblingsreferanse i stedet, slik at de ikke er underlagt logisk ID-binding. For fullstendig liste over snarveimål, se OneLake snarveier. For distribusjonsatferd, se Lakehouse Git-integrasjon og distribusjonspipelines. |
Dataflyter (Gen2)
Som standard lager Dataflow Gen2 absolutte referanser til Fabric-elementer: spørringen lagrer kildearbeidsområdets ID og objektets ID, som ikke skrives om under distribusjon. En kildereferanse kan i stedet bruke en relativ referanse: når du velger et element under !( Current Workspace)-node i en Fabric-kobling, lagrer spørringen elementet etter navn (ingen GUIDs), og det løses til det tilsvarende elementet i målarbeidsområdet ved distribusjon. Utdatadestinasjoner bruker alltid absolutte referanser og binder ikke på nytt. For destinasjoner, og for enhver absolutt kildereferanse, parameteriser verdiene for distribusjon på tvers av arbeidsområder. For mer informasjon, se Relative referanser med Fabric-kontakter i Dataflow Gen2 og Dataflow Gen2 med CI/CD- og Git-integrasjon.
Kildereferanser:
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lakehouse | Delvis | Binder på nytt kun når det er skrevet som en relativ referanse (!( Nåværende arbeidsplass)); Den standard absolutte referansen bindes ikke på nytt. |
| Lager | Delvis | Binder på nytt kun når det er skrevet som en relativ referanse (!( Nåværende arbeidsplass)); Den standard absolutte referansen bindes ikke på nytt. |
Destinasjonsreferanser:
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lakehouse | Nei | |
| Lager | Nei | |
| SQL Database | Nei |
Definisjoner av Spark-jobber
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Miljø | Ja | |
| Lakehouse | Nei | Den defaultLakehouseArtifactId bruker en objekt-ID. |
Kopijobber
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lakehouse | Ja | |
| Lager | Nei | Lageret artifactId løser gjennom den logiske ID-en og binder på nytt, men lagrer linkedService også SQL-koden endPointtil kildearbeidsområdet, som ikke skrives om. Parameteriser for endPoint utrulling på tvers av arbeidsområder. |
| SQL Database | Ja |
GraphQL API-er
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| SQL Endpoint | Ja | |
| Lager | Ja | |
| SQL Database | Ja |
For alle GraphQL API-datakilder kan det hende du må konfigurere tilkoblingen og legitimasjonen på nytt etter utrulling.
Hendelsesstrømmer
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lakehouse | Ja | |
| Eventhouse | Ja | Alle destinasjoner støttes fullt ut for CI/CD når elementer er i samme arbeidsområde. For Eventhouse med Direct Egestion-modus kan det hende du må konfigurere tilkoblingen manuelt etter utrulling. For mer informasjon, se Eventstream CI/CD. |
| Aktivator (Refleks) | Ja | Alle destinasjoner støttes fullt ut for CI/CD når elementer er i samme arbeidsområde. For mer informasjon, se Eventstream CI/CD. |
KQL-gjenstander
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| KQL-database til eventhouse | Ja | Inn-en parentEventhouseItemIdDatabaseProperties.json er en logisk ID og binder til mål-eventhuset. En KQL-database distribueres som et barn av sitt overordnede hendelseshus. |
| KQL-spørringssett til KQL-database | Delvis | Løses gjennom clusterUri og databaseName, ikke gjenstands-ID-en. Definisjonen inkluderer en databaseItemId, men det er en objekt-ID som ikke bindes på nytt, så oppløsningen avhenger av URI-en på tvers av miljøene. |
| Real-Time Dashbord til KQL-database | Delvis | Bruker et dataSources array med klynge-URI-er. Samme mønster som KQL-forespørselssettet. |
Lagre
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Lager (krysreferanse) | Nei | Referanser til andre lagre bruker objekt-IDer. |
| SQL Endpoint | Nei | SQL Endpoint-referanser bruker arbeidsplassspesifikke identifikatorer. |
Variabelbiblioteker
| Avhengighet | Auto-binding i Git | Merknader |
|---|---|---|
| Fabric-elementer (ItemReference-type) | Nei | Den ItemReference variable typen lagres workspaceId og itemId som rå GUID-er. Du må manuelt oppdatere eller overstyre disse verdiene gjennom verdisett per miljø. |
Elementer uten avhengigheter
Følgende elementer har ingen bekymringer om avhengighet på tvers av arbeidsområder:
- Miljø
- SQL Database
- Eventhouse (beholdergjenstand; KQL-databaser refererer til det)
- Speilet database (kun ekstern kildekode-konfigurasjon)
Sammendrag
Når du distribuerer Fabric-elementer på tvers av arbeidsområder, kan avhengigheter mellom elementer brytes hvis referansene lagres som arbeidsområdespesifikke objekt-ID-er i stedet for bærbare logiske ID-er. Ikke alle item-typer støtter avhengighetsbinding gjennom logiske ID-er. Før du setter opp utrulling på tvers av arbeidsområder, bør du lese kompatibilitetstabellene i denne artikkelen for å identifisere hvilke avhengigheter som binder automatisk og hvilke som krever manuell parameterisering.