Beheben von Logischen ID-Konflikten in Microsoft Fabric

Wenn du mit Git-verbundenen Arbeitsbereichen in Fabric arbeitest, könntest du auf Situationen stoßen, in denen Items in deinem Arbeitsbereich und in deinem Git-Branch denselben Namen und Typ haben, aber unterschiedliche logische IDs. Diese Diskrepanz löst eine Metadaten-Überschreibwarnung aus und erfordert, dass Sie entscheiden, welche logische ID Sie behalten möchten.

In diesem Artikel wird erläutert, was logische IDs sind, warum Konflikte auftreten und wie sie sicher gelöst werden.

Was ist eine logische ID?

Wenn Ihr Fabric-Arbeitsbereich mit einer Git-Verzweigung verbunden ist, wird jedes Element im Arbeitsbereich den logischen IDs zugeordnet, die in dieser Verzweigung definiert sind. Diese IDs repräsentieren die "Identität" jedes Elements in den Fabric-Arbeitsbereichen. Eine logische ID ist ein automatisch generierter, arbeitsbereichübergreifender Bezeichner, der ein Element in einem Arbeitsbereich mit seinem entsprechenden Element in einer Git-Verzweigung verbindet. Elemente mit denselben logischen IDs werden als gleich angesehen.

Weitere Informationen zu logischen IDs und zur Darstellung von Fabric-Elementen in der Quellcodeverwaltung finden Sie in der Dokumentation zum Quellcodeformat der Git-Integration.

Was ist ein Logischer ID-Konflikt?

Ein Logischer ID-Konflikt tritt auf, wenn Fabric zwei Elemente erkennt, die denselben Namen und Elementtyp haben, aber unterschiedliche Logische IDs aufweisen – eine im Arbeitsbereich und eine in der mit Git verbundenen Verzweigung. Da logische IDs die eindeutigen Bindungsschlüssel zwischen Fabric-Elementen und ihren Git-Darstellungen sind, stellt eine Nichtübereinstimmung sicher, dass Fabric nicht weiß, welche Version als die wahre Identität des Elements behandelt werden soll.

Wenn ein Konflikt erkannt wird, erscheint ein Dialogfeld, in dem Sie die Überschreibung von Metadaten bestätigen können, ähnlich wie unten angegeben:

Screenshot der Bestätigung der Überschreibung von Metadaten.

Dieser Konflikt weist darauf hin, dass ihr Arbeitsbereichselement eine andere logische ID aufweist als die Version des Elements, das aus der Quellcodeverwaltung stammt.

Die Bestätigung des Vorgangs bewirkt, dass die logische ID aus der Quellcodeverwaltung die logische ID des übereinstimmenden Elements im Arbeitsbereich ersetzt.

Häufige Szenarien, die zu Konflikten führen

Logische ID-Nichtübereinstimmungen können auftreten, wenn Sie:

Szenario Beschreibung
Verbinden eines Arbeitsbereichs mit einem nicht leeren Git-Ordner Wenn das Git-Repository Elemente enthält, die den Arbeitsbereichselementen nach Name und Typ entsprechen, aber unterschiedliche logische IDs enthalten, fordert Fabric Sie auf, das Überschreiben von Arbeitsbereichsmetadaten zu bestätigen.
Wechseln zu einem anderen Zweig Das Wechseln von Verzweigungen kann Elementdefinitionen einführen, die nicht die gleichen logischen IDs wie die Arbeitsbereichsversionen aufweisen.
Verzweigung zu einer neuen Verzweigung basierend auf einer anderen Verzweigung als der verbundenen Verzweigung Führt eine zweite, nicht verknüpfte Zeile von Elementidentitäten in einen Arbeitsbereich ein, der bereits einer bestimmten Git-Verzweigung zugeordnet ist.
Verzweigen Sie in einen bestehenden Arbeitsbereich, der Elemente enthält Wenn man von einem Arbeitsbereich in einen bestehenden Arbeitsbereich wechselt, der bereits Elemente enthält, richtet Fabric die Metadaten des Zielwerkbereichs mit dem neuen verbundenen Zweig aus, der aus den Metadaten des Quellwerkbereichs erstellt wurde.

Auflösen von Logischen ID-Konflikten

Wenn ein Konflikt auftritt, müssen Sie entscheiden, ob die Arbeitsbereichsmetadaten überschrieben oder beibehalten werden sollen.

Option 1: Überschreiben von Arbeitsbereichsmetadaten (Git-Version übernehmen)

Wenn Sie die Überschreibung bestätigen:

  • Die logische ID aus der Quellcodeverwaltung ersetzt die vorhandene logische ID im Arbeitsbereich.
  • Arbeitsbereichsmetadaten entsprechen jetzt der Git-Version.

Verwenden Sie diese Option, wenn der Arbeitsbereich vollständig mit Ihrem Git-Branch ausgerichtet werden soll.

Auswirkungen auf vorhandene Automatisierungen

Wenn Sie die Arbeitsbereichsmetadaten überschreiben möchten, ersetzen Sie die vorhandenen logischen IDs im Arbeitsbereich durch die Versionen, die von Git stammen. Dies kann alle vorhandenen Automatisierungen unterbrechen, die auf den aktuellen logischen IDs basieren, um Elemente konsistent zu identifizieren. Da diese Automatisierungen auf bestimmte Elementidentitäten verweisen, macht das Ändern dieser logischen IDs die Arbeitsbereichselemente aus der Perspektive dieser Workflows "neu". Daher können nachfolgende Aufgaben möglicherweise Elemente nicht finden, Aktualisierungen überspringen oder Duplikate generieren, bis die Automatisierungslogik aktualisiert wird, um in der Lage zu sein, die neuen Identitäten zu erkennen.

Option 2: Vorhandene Arbeitsbereichsmetadaten beibehalten (Arbeitsbereichsversion beibehalten)

Wenn Sie die logische ID des Arbeitsbereichs beibehalten möchten:

  • Bestätigen Sie das Überschreiben nicht.
  • Aktualisieren Sie Ihr Git-Repository mit den logischen IDs, die derzeit im Arbeitsbereich vorhanden sind.

Dazu können Sie folgende Aktionen ausführen:

  • Das Auschecken oder das Festschreiben eines anderen Branches und das Abrufen der Metadaten des Arbeitsbereichs in Git oder
  • Umbenennen der Elemente in Git, was bewirkt, dass Fabric sie als Hinzufügen-/Entfernen-Vorgänge behandelt, anstatt Konflikte bei Aktualisierungen zu verursachen.