Løs logiske ID-konflikter i Microsoft Fabric

Når du jobber med Git-tilkoblede arbeidsområder i Microsoft Fabric, kan du oppleve situasjoner der elementer i arbeidsområdet ditt og i Git-grenen har samme navn og type, men har forskjellige logiske ID-er. Denne mismatchen kan utløse en advarsel om overskriving av metadata og krever at du bestemmer hvilken logisk ID som skal beholdes.

Denne artikkelen forklarer hva logiske ID-er er, hvorfor konflikter oppstår, og hvordan man kan løse dem på en trygg måte.

Hva er en logisk ID?

Når Fabric-arbeidsområdet ditt er koblet til en Git-gren, er hvert element i arbeidsområdet knyttet til de logiske ID-ene definert i den grenen. Disse ID-ene representerer «identiteten» til hvert element på tvers av Microsoft Fabric-arbeidsområder. En logisk ID er en automatisk generert, tverrarbeidsområde-identifikator som kobler et element i et arbeidsområde med det tilsvarende elementet i en Git-gren. Elementer med samme logiske ID-er antas å være de samme.

For å lære mer om logiske ID-er og hvordan Fabric representerer elementer i kildekontroll, se dokumentasjonen for Git-integrasjonens kildekodeformat.

Hva er en logisk ID-konflikt?

En Logical ID-konflikt oppstår når Fabric oppdager to elementer som har samme navn og varetype, men forskjellige logiske ID-er—én i arbeidsområdet og én i Git-tilkoblede branch. Siden logiske ID-er er de unike bindingsnøklene mellom Fabric-objekter og deres Git-representasjoner, betyr en mismatch at Fabric ikke vet hvilken versjon som skal behandles som den "sanne" identiteten til elementet.

Når en konflikt oppdages, ser du en bekreft metadata-overskrivingsdialog, lik følgende:

Skjermbilde av bekreftelse av metadata-overskriving.

Denne konflikten indikerer at arbeidsplasselementet ditt har en annen logisk ID enn versjonen av elementet som kommer fra kildekontrollen.

Å bekrefte operasjonen resulterer i at den logiske ID-en fra kildekontrollen din erstatter den logiske ID-en til det matchede elementet i arbeidsområdet.

Vanlige scenarioer som fører til konflikter

Logiske ID-feil kan oppstå når du:

Scenario Beskrivelse
Koble et arbeidsområde til en ikke-tom Git-mappe Hvis Git-repoet inneholder elementer som matcher arbeidsområdets elementer med navn og type, men har forskjellige logiske ID-er, ber Fabric deg bekrefte at arbeidsområdets metadata er overskrevet.
Bytt til en annen gren Endring av grener kan føre til varedefinisjoner som ikke deler de samme logiske ID-ene som workspace-versjonene.
Forgren deg til en ny gren basert på en annen gren enn den tilknyttede grenen Introduserer en annen, ikke-relatert linje av gjenstandsidentiteter i et arbeidsområde som allerede er kartlagt til en spesifikk Git-gren.
Forgren deg til et eksisterende arbeidsområde som inneholder elementer Når man forgrener seg fra et arbeidsområde til et eksisterende arbeidsområde som allerede inneholder elementer, tilpasser Microsoft Fabric mål-arbeidsområdets metadata med den nye tilknyttede grenen som ble opprettet fra kilde-arbeidsområdets grenmetadata.

Løsning av logiske ID-konflikter

Når en konflikt oppstår, må du avgjøre om du skal overskrive arbeidsområdets metadata eller beholde den.

Alternativ 1: Overskriv arbeidsområdets metadata (ta Git-versjonen)

Hvis du bekrefter overskrivingen:

  • Den logiske ID-en fra kildekontroll erstatter den eksisterende logiske ID-en i arbeidsområdet.
  • Workspace-metadata samsvarer nå med Git-versjonen.

Bruk dette alternativet når du vil at arbeidsområdet skal være fullt justert med Git-grenen din.

Innvirkning på eksisterende automatiseringer

Ved å velge å overskrive arbeidsområdets metadata, erstatter du de eksisterende logiske ID-ene i arbeidsområdet med versjonene som kommer fra Git. Dette kan ødelegge eksisterende automatiseringer som er avhengige av de nåværende logiske ID-ene for å identifisere elementer konsekvent. Fordi disse automatiseringene refererer til spesifikke objektidentiteter, gjør endring av disse logiske ID-ene arbeidsområdets elementer effektivt «nye» fra arbeidsflytens perspektiv. Som et resultat kan downstream-jobber mislykkes i å finne elementer, hoppe over oppdateringer eller generere duplikater inntil automatiseringslogikken er oppdatert for å gjenkjenne de nye identitetene.

Alternativ 2: Behold eksisterende arbeidsområdemetadata (behold arbeidsplassversjonen)

Hvis du vil bevare arbeidsområdets logiske ID:

  • Ikke bekreft overskrivingen.
  • Oppdater Git-repositoriet ditt med de logiske ID-ene som for øyeblikket finnes i arbeidsområdet.

Du kan gjøre dette ved å:

  • Sjekke ut eller committe til en annen branch og hente arbeidsområdets metadata inn i Git, eller
  • Å omdøpe elementen(e) i Git, noe som gjør at Fabric behandler dem som add/fjern-operasjoner i stedet for motstridende oppdateringer.