Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie Fabric-Elemente arbeitsbereichsübergreifend bereitstellen (beispielsweise von der Entwicklung über den Test bis zur Produktion), können Abhängigkeiten zwischen den Elementen unterbrochen werden. Einige Elemente speichern Referenzen auf ihre Abhängigkeiten als Objekt-IDs (workspace-spezifische GUIDs), während andere logische IDs verwenden (cross-workspace portable Identifiers, die in der .platform Datei gespeichert sind).
Elemente, die logische IDs in ihren Definitionen verwenden, binden korrekt an das entsprechende Element im Ziel-Arbeitsbereich. Objekte, die Objekt-IDs verwenden, bleiben auf den Quellarbeitsbereich verwiesen, was die Bereitstellung unterbricht.
Dieser Artikel kartiert, welche Fabric-Item-Typen Abhängigkeitsbindungen über logische IDs unterstützen, wenn du Git-Integration nutzt, und welche nicht. Um mehr über logische IDs und die Darstellung von Elementen in der Quellcode-Kontrolle zu erfahren, siehe Logical ID in Fabric.
Zentrale Konzepte
-
Logische ID: Eine automatisch generierte arbeitsbereichsübergreifende Kennung in der
.platformDatei. Artikel mit derselben logischen ID werden in Arbeitsbereichen als dasselbe Element behandelt. - Objekt-ID: Eine arbeitsbereichsspezifische GUID, die eine bestimmte Instanz identifiziert. Objekt-IDs überleben eine arbeitsübergreifende Bereitstellung ohne manuelle Intervention oder Parametrisierung nicht.
- Dependency Binding (Git): Wenn Sie einen Git-Branch mit einem neuen Arbeitsbereich synchronisieren, löst Fabric Abhängigkeitsreferenzen mithilfe logischer IDs auf und zeigt automatisch auf das richtige Element im Ziel-Arbeitsbereich.
- Nach Namen oder URI: Einige Elemente beziehen sich auf Abhängigkeiten anhand von Anzeigenamen oder URI statt nach ID. Diese Referenzen können je nach Namenskonventionen in Arbeitsbereichen korrekt gelöst werden oder auch nicht.
Wie Abhängigkeitsbindung funktioniert
Innerhalb eines Arbeitsbereichs verweisen Elemente auf ihre Abhängigkeiten mithilfe von Objekt-IDs. Wenn Fabric ein Item nach Git exportiert, ersetzt es einige dieser Objekt-IDs durch logische IDs aus der .platform Datei. Wenn du den Git-Branch mit einem anderen Arbeitsbereich synchronisierst, löst Fabric diese logischen IDs wieder auf die korrekten Objekt-IDs im Zielarbeitsbereich auf. Das ist es, was Abhängigkeitsbindungen funktionieren lässt.
Allerdings werden beim Export nicht alle Abhängigkeitsreferenzen durch logische IDs ersetzt. Objekte, die Objekt-IDs in ihrer Git-Darstellung behalten, zeigen nach der Synchronisierung weiterhin auf den ursprünglichen Arbeitsbereich, und du musst sie manuell oder durch Parameterisierung aktualisieren.
Important
Abhängigkeitsbindung gilt nur für Referenzen zwischen Fabric-Elementen innerhalb von demselben Arbeitsbereich. Wenn ein Item auf ein Fabric-Item in einem anderen Arbeitsbereich referenziert, verwendet diese Referenz eine Objekt-ID und bindet nicht automatisch. Referenzen auf Verbindungen (Datenquellenverbindungen, Gateways) binden sich ebenfalls nicht automatisch. Verwenden Sie Variable Libraries mit umgebungsspezifischen Wertesätzen, um Verbindungsreferenzen umgebungsübergreifend zu verwalten.
Abhängigkeitsbindungskompatibilität
Die folgenden Tabellen zeigen, ob die Abhängigkeiten jedes Fabric-Artikeltyps korrekt binden, wenn Sie arbeitsbereichsübergreifend deployen. Derzeit behandelt dieser Artikel das Verhalten der Git-Integration . Da die Bindung dadurch bestimmt wird, wie jedes Element seine Abhängigkeitsreferenzen in seiner Definition speichert, gilt dasselbe Verhalten für andere Deployment-Mechanismen, die diese Definitionen wiederverwenden, wie Deployment-Pipelines und die Import-(Bulk-)APIs.
Diese Tabellen gehen davon aus, dass die Abhängigkeit ein weiteres Element im selben Arbeitsbereich wie das Quellelement ist. Eine Referenz auf ein Element in einem anderen Arbeitsbereich wird niemals automatisch gebunden. Sie bleibt unabhängig vom in der Tabelle angezeigten Wert an die Quellobjekt-ID gepinnt.
Die Spalte Auto-bind in Git zeigt Folgendes an:
- Ja: Die Item-Definition in Git speichert die Abhängigkeitsreferenz als logische ID. Wenn du den Branch in einen neuen Arbeitsbereich synchronisierst, wird die Referenz automatisch mit dem passenden Element in diesem Arbeitsbereich verknüpft.
- Nein: Die Item-Definition in Git speichert die Abhängigkeitsreferenz als Objekt-ID (workspace-spezifisches GUID). Die Referenz zeigt nach der Synchronisation weiterhin auf den Quellarbeitsbereich. Du musst es manuell aktualisieren oder parametrisieren für die arbeitsbereichsübergreifende Bereitstellung.
- Partial: Das Element löst die Abhängigkeit durch Namen oder URI, was funktionieren kann, wenn die Benennung über Arbeitsbereiche hinweg konsistent ist.
Notebooks
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lakehouse | Ja | Erfordert die Aktivierung von "Lakehouse Auto-Binding in Git" in den Notizbucheinstellungen. Wenn aktiviert, wird die Objekt-ID durch eine logische ID in notebook-settings.jsonersetzt. Diese Einstellung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Lakehouse auto-binding in Git. |
| Environment | Ja | |
| Gespiegelte Datenbank | No |
Note
Die Bindung von Notizbuch zu Lakehouse ist standardmäßig nicht aktiviert. Du musst in den Einstellungen jedes Notizbuchs die Einstellung "Lakehouse Auto-Binding in Git" aktivieren. Weitere Informationen finden Sie unter Notebook-Quellcodeverwaltung und -bereitstellung.
Berichte
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Semantisches Modell (aus dem Power BI-Bericht) | Partial | Der Bericht referenziert das Modell durch eine relative byPath Referenz in definition.pbir, nicht über eine explizite logische ID. Sie wird korrekt aufgelöst, wenn das Modell am selben relativen Speicherort im Zielarbeitsbereich bereitgestellt wird, wird jedoch nicht über eine logische ID gebunden. Weitere Informationen finden Sie im Power BI Desktop Projektreportordner. |
| Semantisches Modell (aus paginiertem Bericht) | No | Der Verbindungszeichenfolge des Berichts referenziert das semantische Modell über eine arbeitsraumspezifische ID, die bei der Bereitstellung nicht neu geschrieben wird, sodass er auf das Quellmodell zeigt. Du musst diese Referenz für die arbeitsbereichsübergreifende Bereitstellung aktualisieren. (Berichte, die im Report Builder verfasst wurden und das Modell mit Namen referenzieren, können stattdessen nach Display-Name, also Partial, aufgelöst werden.) |
Pipeline
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Pipeline | Ja | |
| Notebook | Ja | |
| Datenfluss Gen2 | Ja | |
| SQL Database | Ja | |
| Spark-Auftragsdefinition | No | Die SparkJobDefinition-Aktivität verweist über die Objekt-ID und nicht über die logische ID auf die Spark-Job-Definition, sodass sie auch nach der Bereitstellung weiterhin auf das Quellelement verweist. Du musst diesen Wert für die arbeitsbereichsübergreifende Bereitstellung parametrisieren. |
| Lakehouse | Ja | |
| Semantikmodell | No | Die PBISemanticModelRefresh-Aktivität referenziert das semantische Modell anhand von der Item-ID, nicht der logischen ID. Du musst diesen Wert für die arbeitsbereichsübergreifende Bereitstellung parametrisieren. |
| Lagerhalle | No | Das Data Warehouse artifactId wird über die logische ID aufgelöst und neu gebunden, aber linkedService speichert auch das SQL endpoint des Quellarbeitsbereichs, das nicht neu geschrieben wird. Parametrisieren Sie die endpoint für die arbeitsbereichsübergreifende Bereitstellung. |
Semantikmodelle
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Semantikmodell | Partial | Verkettete oder zusammengesetzte Modellreferenzen verwenden Verbindungsstrings nach Namen. |
| SQL-Analyseendpunkt (lakehouse) | No | Die Direct Lake-Verbindungszeichenfolge in TMDL expressions.tmdl enthält eine arbeitsbereichsspezifische Endpunkt-URL und eine Datenbank-GUID. Du musst diese Parameter für die arbeitsbereichsübergreifende Bereitstellung ersetzen. |
| KQL-Datenbank | No | Die Verbindungszeichenfolge mit einer Cluster-URI in TMDL-Ausdrücken enthält arbeitsbereichsspezifische Werte. |
| SQL database | No | Der Verbindungszeichenfolge in TMDL-Ausdrücken enthält workspace-spezifische Werte. |
| Lagerhalle | No | Die Verbindung zum SQL-Analytics-Endpunkt des Warehouse verwendet eine workspace-spezifische URL. |
Seehäuser
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lakehouse (Abkürzung) | Ja | Interne OneLake-Verknüpfungen, die auf ein anderes Fabric-Element verweisen, beispielsweise ein Lakehouse oder Warehouse, werden als logische ID gespeichert und dem Element im Zielarbeitsbereich erneut zugeordnet. Verknüpfungen zu externen Quellen wie Azure Data Lake Storage Gen2 oder Amazon S3 verweisen auf Inhalte außerhalb von Fabric und enthalten stattdessen einen Verbindungsverweis, sodass sie nicht der Bindung an logische IDs unterliegen. Die vollständige Liste der Abkürzungsziele finden Sie unter OneLake-Abkürzungen. Für das Bereitstellungsverhalten siehe Lakehouse Git Integration und Deployment-Pipelines. |
Datenflüsse (Gen2)
Standardmäßig erstellt Dataflow Gen2 absolute Referenzen auf Fabric-Artikel: Die Abfrage speichert die Quell-Arbeitsbereichs-ID und die Objekt-ID des Artikels, die bei der Bereitstellung nicht neu geschrieben werden. Eine Quellreferenz kann stattdessen eine relative Referenz verwenden: Wenn Sie in einem Fabric-Connector ein Element unter dem Knoten !(Current Workspace) auswählen, speichert die Abfrage das Element nach Namen (ohne GUIDs), und bei der Bereitstellung wird es dem entsprechenden Element im Zielarbeitsbereich zugeordnet. Ausgabeziele verwenden immer absolute Referenzen und binden nicht neu. Für Destinationen und für jede absolute Quellreferenz parametrisieren Sie die Werte für die arbeitsübergreifende Bereitstellung. Weitere Informationen finden Sie unter Relative Referenzen mit Fabric-Connectoren in Dataflow Gen2 und Dataflow Gen2 mit CI/CD- und Git-Integration.
Quellen:
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lakehouse | Partial | Wird nur dann erneut gebunden, wenn es als relative Referenz angegeben ist (!(Aktueller Arbeitsbereich)); die standardmäßige absolute Referenz wird nicht erneut gebunden. |
| Lagerhalle | Partial | Wird nur dann erneut gebunden, wenn es als relative Referenz angegeben ist (!(Aktueller Arbeitsbereich)); die standardmäßige absolute Referenz wird nicht erneut gebunden. |
Zielreferenzen:
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lakehouse | No | |
| Lagerhalle | No | |
| SQL Database | No |
Spark-Auftragsdefinitionen
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Environment | Ja | |
| Lakehouse | No | Sie defaultLakehouseArtifactId verwendet eine Objekt-ID. |
Kopieraufträge
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lakehouse | Ja | |
| Lagerhalle | No | Das Data Warehouse artifactId wird über die logische ID aufgelöst und neu gebunden, aber linkedService speichert auch das SQL endPoint des Quellarbeitsbereichs, das nicht neu geschrieben wird. Parametrisieren Sie die endPoint für die arbeitsbereichsübergreifende Bereitstellung. |
| SQL Database | Ja |
GraphQL-APIs
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| SQL-Endpunkt | Ja | |
| Lagerhalle | Ja | |
| SQL Database | Ja |
Für alle GraphQL-API-Datenquellen müssen Sie möglicherweise die Verbindung und Zugangsdaten nach der Bereitstellung neu konfigurieren.
Ereignisströme
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lakehouse | Ja | |
| Eventhouse | Ja | Alle Ziele werden für CI/CD vollständig unterstützt, wenn sich die Objekte im selben Arbeitsbereich befinden. Für Eventhouse mit Direct Ingestion Mode musst du die Verbindung nach der Bereitstellung möglicherweise manuell neu konfigurieren. Weitere Informationen finden Sie unter Eventstream CI/CD. |
| Auslöser (Reflex) | Ja | Alle Ziele werden für CI/CD vollständig unterstützt, wenn sich die Objekte im selben Arbeitsbereich befinden. Weitere Informationen finden Sie unter Eventstream CI/CD. |
KQL-Elemente
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| KQL-Datenbank zu eventhouse | Ja | Das parentEventhouseItemId In DatabaseProperties.json ist eine logische ID und bindet an das Ziel-Eventhouse. Eine KQL-Datenbank wird als Kind ihres übergeordneten Eventhouse bereitgestellt. |
| KQL-Abfragesatz zur KQL-Datenbank | Partial | Wird über clusterUri und databaseName aufgelöst, nicht über die Item-ID. Die Definition beinhaltet eine databaseItemId, aber es handelt sich um eine Objekt-ID, die nicht neu gebunden wird, sodass die Auflösung von der URI in verschiedenen Umgebungen abhängt. |
| Echtzeit-Dashboard für die KQL-Datenbank | Partial | Verwendet ein dataSources Array mit Cluster-URIs. Dasselbe Muster wie beim KQL-Abfragesatz. |
Lager
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Lagerhaus (Querverweise) | No | Verweise auf andere Lagerhäuser verwenden Objekt-IDs. |
| SQL-Endpunkt | No | SQL-Endpunkt-Referenzen verwenden workspace-spezifische Identifikatoren. |
Variable Bibliotheken
| Abhängigkeit | Auto-bind in Git | Hinweise |
|---|---|---|
| Fabric-Elemente (Typ ItemReference) | No | Der ItemReference variable Typ speichert workspaceId und itemId als rohe GUIDs. Du musst diese Werte manuell aktualisieren oder überschreiben durch Wertesätze pro Umgebung. |
Elemente ohne Abhängigkeiten
Die folgenden Elemente haben keine Abhängigkeitsbindungsbedenken über den Arbeitsbereich hinaus:
- Environment
- SQL Database
- Eventhouse (Containerelement; KQL-Datenbanken beziehen sich auf das)
- Gespiegelte Datenbank (nur externe Quellkonfiguration)
Zusammenfassung
Wenn Sie Fabric-Elemente arbeitsbereichsübergreifend bereitstellen, können Abhängigkeiten zwischen den Elementen beeinträchtigt werden, wenn die Verweise als arbeitsbereichsspezifische Objekt-IDs statt als portierbare logische IDs gespeichert werden. Nicht alle Item-Typen unterstützen Abhängigkeitsbindungen über logische IDs. Bevor Sie eine arbeitsübergreifende Bereitstellung einrichten, sehen Sie sich die Kompatibilitätstabellen in diesem Artikel an, um herauszufinden, welche Abhängigkeiten automatisch binden und welche manuelle Parametrisierung erfordern.