Quellcodeverwaltung in Synapse Studio

Standardmäßig sind Bearbeitungen in Synapse Studio direkt im Synapse-Dienst verfügbar. Wenn eine Zusammenarbeit unter Verwendung von Git für die Quellcodeverwaltung erforderlich ist, ermöglicht Ihnen Synapse Studio, Ihren Arbeitsbereich einem Git-Repository, Azure DevOps oder GitHub zuzuordnen.

In diesem Artikel wird erläutert, wie Sie in einem Synapse-Arbeitsbereich mit aktiviertem Git-Repository Konfigurationen vornehmen und arbeiten. Außerdem werden einige bewährte Methoden und eine Anleitung zur Problembehandlung vorgestellt.

Hinweis

Um GitHub in Azure Gov und Microsoft Azure operated by 21Vianet zu nutzen, können Sie Ihre eigene GitHub OAuth-Anwendung in Synapse Studio für die Git-Integration einbringen. Die Konfigurationserfahrung ist mit der ADF identisch. Weitere Informationen finden Sie im Ankündigungsblog.

Voraussetzungen

Benutzer*innen müssen über die Azure-Rolle „Mitwirkender“ (Azure RBAC) oder eine Rolle mit mehr Berechtigungen für den Synapse-Arbeitsbereich verfügen, um ein Git-Repository zu konfigurieren, die Einstellungen dafür zu bearbeiten und dessen Verbindung mit Synapse zu trennen.

Konfigurieren des Git-Repositorys in Synapse Studio

Nach dem Starten von Synapse Studio können Sie ein Git-Repository in Ihrem Arbeitsbereich konfigurieren. Ein Synapse Studio-Arbeitsbereich kann jeweils nur einem Git-Repository zugeordnet werden.

Konfigurationsmethode 1: globale Leiste

Wählen Sie in der globalen Leiste von Synapse Studio das Dropdownmenü Synapse Live und dann Coderepository einrichten aus.

Configure the code repository settings from authoring

Konfigurationsmethode 2: Verwaltungshub

Wechseln Sie zum Verwaltungshub von Synapse Studio. Wählen Sie Git-Konfiguration im Abschnitt Quellcodeverwaltung aus. Wenn kein Repository verbunden ist, klicken Sie auf Konfigurieren.

Configure the code repository settings from management hub

Sie können in Ihrem Arbeitsbereich entweder eine Verbindung mit dem Azure DevOps- oder GitHub-Git-Repository herstellen.

Herstellen einer Verbindung mit dem Azure DevOps-Git-Repository

Sie können einen Synapse-Arbeitsbereich einem Azure DevOps-Repository u. a. für die Quellcodeverwaltung, Zusammenarbeit und Versionsverwaltung zuordnen. Wenn Sie noch nicht über ein Azure DevOps-Repository verfügen, befolgen Sie diese Anweisungen zum Erstellen der Repositoryressourcen.

Azure DevOps-Git-Repositoryeinstellungen

Wenn Sie eine Verbindung mit dem Git-Repository herstellen, wählen Sie zuerst Azure DevOps-Git als Repositorytyp aus, wählen Sie in der Dropdownliste einen Microsoft Entra-Mandanten aus, und klicken Sie dann auf Weiter.

Configure the code repository settings

Im Konfigurationsbereich werden die folgenden Azure DevOps-Git-Einstellungen angezeigt:

Einstellung BESCHREIBUNG Wert
Repositorytyp Der Typ des Coderepositorys für Azure Repos.
Azure DevOps Git oder GitHub
Mandantenübergreifende Anmeldung Kontrollkästchen für die Anmeldung mit einem mandantenübergreifenden Konto. nicht ausgewählt (Standard)
Microsoft Entra ID Der Name Ihres Microsoft Entra-Mandanten. <your tenant name>
Azure DevOps-Konto Der Name Ihrer Azure Repos-Organisation. Sie können den Namen Ihrer Azure Repos-Organisation unter https://{organization name}.visualstudio.com finden. Sie können sich bei Ihrer Azure Repos-Organisation anmelden, um auf Ihr Visual Studio-Profil zuzugreifen und Ihre Repositorys und Projekte anzuzeigen. <your organization name>
Projektname Der Name Ihres Azure Repos-Projekts. Sie können den Namen Ihres Azure Repos-Projekts unter https://{organization name}.visualstudio.com/{project name} finden. <your Azure Repos project name>
Repositoryname Der Name Ihres Azure Repos-Coderepositorys. Azure Repos-Projekte enthalten Git-Repositorys zum Verwalten Ihres Quellcodes, wenn Ihr Projekt umfangreicher wird. Sie können ein neues Repository erstellen oder ein vorhandenes Repository verwenden, das sich bereits in Ihrem Projekt befindet. <your Azure Repos code repository name>
Collaboration branch (Kollaborationsbranch) Ihr Branch für die Azure Repos-Kollaboration, der für die Veröffentlichung verwendet wird. Die Standardeinstellung ist master. Ändern Sie diese Einstellung, falls Sie Ressourcen eines anderen Branchs veröffentlichen möchten. Sie können vorhandene Branchs auswählen oder neue erstellen. <your collaboration branch name>
Stammordner Ihr Stammordner im Branch für die Azure Repos-Kollaboration. <your root folder name>
Vorhandene Ressourcen in Repository importieren Gibt an, ob vorhandene Ressourcen aus Synapse Studio in ein Azure Repos Git-Repository importiert werden sollen. Aktivieren Sie das Kontrollkästchen, um Ihre Arbeitsbereichsressourcen (außer Pods) in das zugehörige Git-Repository im JSON-Format zu importieren. Diese Aktion exportiert jede Ressource einzeln. Ist dieses Kontrollkästchen nicht aktiviert, werden die vorhandenen Ressourcen nicht importiert. Aktiviert (Standard)
Ressource in diesen Branch importieren Wählen Sie aus, in welchen Branch die Ressourcen (SQL-Skript, Notebook, Spark-Auftragsdefinition, Dataset, Dataflow usw.) importiert werden.

Außerdem können Sie mit dem Repositorylink schnell auf das Git-Repository verweisen, mit dem Sie eine Verbindung herstellen möchten.

Hinweis

Azure Synapse unterstützt keine Verbindung mit dem Prem Azure DevOps-Repository.

Verwenden eines anderen Microsoft Entra-Mandanten

Das Azure Repos-Git-Repository kann sich in einem anderen Microsoft Entra-Mandanten befinden. Zum Angeben eines anderen Microsoft Entra-Mandanten müssen Sie über Administratorberechtigungen für das verwendete Azure-Abonnement verfügen. Weitere Informationen finden Sie unter Ändern des Abonnementadministrators.

Wichtig

Um eine Verbindung mit einer anderen Microsoft Entra ID-Instanz herstellen zu können, muss der/die angemeldete Benutzer*in zu diesem Verzeichnis gehören.

Verwenden Ihres persönlichen Microsoft-Kontos

Um ein persönliches Microsoft-Konto für die Git-Integration zu verwenden, können Sie Ihr persönliches Azure-Repository mit dem Active Directory Ihrer Organisation verknüpfen.

  1. Fügen Sie Ihr persönliches Microsoft-Konto als Gast zum Active Directory Ihrer Organisation hinzu. Weitere Informationen finden Sie unter Hinzufügen von Microsoft Entra-B2B Collaboration-Benutzer*innen über das Azure-Portal.

  2. Melden Sie sich mit Ihrem persönlichen Microsoft-Konto beim Azure-Portal an. Wechseln Sie dann zum Active Directory Ihrer Organisation.

  3. Wechseln Sie zum Abschnitt für Azure DevOps – dort wird jetzt Ihr persönliches Repository angezeigt. Wählen Sie das Repository aus, und verbinden Sie es mit Active Directory.

Nach diesen Konfigurationsschritten ist Ihr persönliches Repository verfügbar, wenn Sie die Git-Integration in Synapse Studio einrichten.

Weitere Informationen zum Verbinden von Azure Repos mit dem Active Directory Ihrer Organisation finden Sie unter Verbinden Ihrer Organisation mit Microsoft Entra ID.

Verwenden eines mandantenübergreifenden Azure DevOps-Kontos

Wenn sich Ihr Azure DevOps nicht im selben Mandanten wie der Synapse-Arbeitsbereich befindet, können Sie den Arbeitsbereich mit dem mandantenübergreifenden Azure DevOps-Konto konfigurieren.

  1. Wählen Sie die Option Mandantenübergreifende Anmeldung aus, und klicken Sie auf Weiter.

    Select the cross tenant sign in

  2. Wählen Sie im Dialogfenster OK aus.

    Confirm the cross tenant sign in

  3. Klicken Sie auf Anderes Konto verwenden, und melden Sie sich mit Ihrem Azure DevOps-Konto an.

    Use another account

  4. Wählen Sie nach der Anmeldung das Verzeichnis und Repository aus, und konfigurieren Sie es entsprechend.

    Choose the directory

    Hinweis

    Um den Arbeitsbereich anzumelden, müssen Sie die erste Anmeldung verwenden, um sich beim Benutzerkonto Ihres Synapse-Arbeitsbereichs anzumelden. Ihr mandantenübergreifendes Azure DevOps-Konto wird nur für die Anmeldung bei dem Azure DevOps-Repository verwendet, das diesem Synapse-Arbeitsbereich zugeordnet ist, sowie für den Zugriff darauf.

Herstellen einer Verbindung mit GitHub

Sie können einen Arbeitsbereich einem GitHub-Repository für die Quellcodeverwaltung, Zusammenarbeit und Versionsverwaltung zuordnen. Wenn Sie noch nicht über ein GitHub-Konto oder -Repository verfügen, folgen Sie diesen Anweisungen zum Erstellen der Ressourcen.

Die GitHub-Integration in Synapse Studio unterstützt sowohl das öffentliche GitHub (also https://github.com) als auch GitHub Enterprise. Sie können öffentliche und private GitHub-Repositorys verwenden, sofern Sie über Lese- und Schreibberechtigungen für das Repository in GitHub verfügen.

GitHub-Einstellungen

Wenn Sie eine Verbindung mit dem Git-Repository herstellen, wählen Sie zuerst GitHub als Repositorytyp aus, und geben Sie dann Ihr GitHub-Konto oder eine GitHub Enterprise Server-URL an, wenn Sie GitHub Enterprise Server verwenden. Geben Sie Ihren GitHub Enterprise-Organisationsnamen an, wenn Sie GitHub Enterprise Cloud verwenden. Wählen Sie Weiter.

Hinweis

Lassen Sie das Kontrollkästchen Use GitHub Enterprise Server (GitHub Enterprise Server verwenden) deaktiviert, wenn Sie GitHub Enterprise Cloud verwenden.

GitHub repository settings

Im Konfigurationsbereich werden die folgenden Einstellungen für das GitHub-Repository angezeigt:

Einstellung Beschreibung Wert
Repositorytyp Der Typ des Coderepositorys für Azure Repos. GitHub
GitHub Enterprise verwenden Kontrollkästchen zum Auswählen von GitHub Enterprise nicht ausgewählt (Standard)
GitHub Enterprise-URL Die GitHub Enterprise-URL des Stamms (muss für den lokalen GitHub Enterprise-Server „HTTPS“ lauten). Beispiel: https://github.mydomain.com. Nur erforderlich, wenn GitHub Enterprise verwenden ausgewählt ist <your GitHub enterprise url>
GitHub-Konto Ihr GitHub-Kontoname. Sie finden diesen Namen in „https://github.com/{account-Name}/{Repositoryname}“. Beim Navigieren zu dieser Seite werden Sie zur Eingabe der GitHub-OAuth-Anmeldeinformationen zu Ihrem GitHub-Konto aufgefordert. <your GitHub account name>
Repositoryname Der Name Ihres GitHub-Coderepositorys. GitHub-Konten enthalten Git-Repositorys zum Verwalten Ihres Quellcodes. Sie können ein neues Repository erstellen oder ein vorhandenes Repository verwenden, das sich bereits in Ihrem Konto befindet. <your repository name>
Collaboration branch (Kollaborationsbranch) Ihr Branch für die GitHub-Kollaboration, der für die Veröffentlichung verwendet wird. Die Standardeinstellung ist „master“. Ändern Sie diese Einstellung, falls Sie Ressourcen eines anderen Branchs veröffentlichen möchten. <your collaboration branch>
Stammordner Ihr Stammordner im Branch für die GitHub-Kollaboration. <your root folder name>
Vorhandene Ressourcen in Repository importieren Gibt an, ob vorhandene Ressourcen aus Synapse Studio in ein Git-Repository importiert werden sollen. Aktivieren Sie das Kontrollkästchen, um Ihre Arbeitsbereichsressourcen (außer Pods) in das zugehörige Git-Repository im JSON-Format zu importieren. Diese Aktion exportiert jede Ressource einzeln. Ist dieses Kontrollkästchen nicht aktiviert, werden die vorhandenen Ressourcen nicht importiert. Aktiviert (Standardeinstellung)
Ressource in diesen Branch importieren Wählen Sie aus, in welchen Branch die Ressourcen (SQL-Skript, Notebook, Spark-Auftragsdefinition, Dataset, Dataflow usw.) importiert werden.

GitHub-Organisationen

Um eine Verbindung mit einer GitHub-Organisation herstellen zu können, muss die Organisation eine Berechtigung für Synapse Studio erteilen. Ein Benutzer mit Administratorberechtigungen in der Organisation muss die folgenden Schritte ausführen.

Erstmaliges Herstellen einer Verbindung mit GitHub

Wenn Sie zum ersten Mal von Synapse Studio aus eine Verbindung mit GitHub herstellen, führen Sie die folgenden Schritte aus, um eine Verbindung mit einer GitHub-Organisation herzustellen.

  1. Geben Sie im Bereich für die Git-Konfiguration den Namen der Organisation im Feld GitHub-Konto ein. Es wird eine Eingabeaufforderung zur Anmeldung bei GitHub angezeigt.

  2. Melden Sie sich mit Ihren Benutzeranmeldeinformationen an.

  3. Sie werden aufgefordert, Synapse als Anwendung namens Azure Synapse zu autorisieren. Auf diesem Bildschirm sehen Sie eine Option, mit der Sie Synapse die Berechtigung zum Zugriff auf die Organisation erteilen können. Wenn diese Option nicht angezeigt wird, bitten Sie einen Administrator, die Berechtigung manuell über GitHub zu erteilen.

Nachdem Sie diese Schritte ausgeführt haben, kann Ihr Arbeitsbereich eine Verbindung sowohl mit den privaten als auch öffentlichen Repositorys in Ihrer Organisation herstellen. Wenn keine Verbindung hergestellt werden kann, löschen Sie den Browsercache und versuchen es noch mal.

Bereits über ein persönliches Konto mit GitHub verbunden

Wenn Sie bereits mit GitHub verbunden sind und nur Berechtigungen zum Zugriff auf ein persönliches Konto erteilt haben, führen Sie die folgenden Schritte aus, um Berechtigungen für eine Organisation zu erteilen.

  1. Wechseln Sie zu GitHub, und öffnen Sie die Einstellungen.

    Open GitHub settings

  2. Wählen Sie Anwendungen aus. Auf der Registerkarte Autorisierte OAuth-Apps sollte Azure Synapse angezeigt werden.

    Authorize OAuth Apps

  3. Wählen Sie Azure Synapse aus, und gewähren Sie Zugriff auf Ihre Organisation.

    Grant organization permission

Nachdem Sie diese Schritte beendet haben, kann Ihr Arbeitsbereich eine Verbindung sowohl mit den öffentlichen als auch den privaten Repositorys in Ihrer Organisation herstellen.

Versionskontrolle

Versionskontrollsysteme (auch bekannt als Versionskontrolle) ermöglichen es Entwicklern, gemeinsam an Code zu arbeiten und Änderungen zu verfolgen. Quellcodeverwaltung ist ein unverzichtbares Tool für Projekte, an denen mehrere Entwickler arbeiten.

Erstellen von Featurebranches

Jedes Git-Repository, das einer Synapse Studio-Instanz zugeordnet ist, verfügt über einen Branch für die Zusammenarbeit. (main oder master ist der Standardbranch für die Kollaboration.) Benutzer können auch Featurebranches erstellen, indem sie im Dropdownmenü „Branch“ auf + Neuer Branch klicken.

Create new branch

Sobald der neue Zweigbereich erscheint, geben Sie den Namen Ihres Feature-Zweiges ein und wählen einen Zweig aus, auf dem die Arbeit basieren soll.

Create branch based on private branch

Wenn Sie bereit sind, die Änderungen in Ihrem Featurebranch mit Ihrem Kollaborationsbranch zu mergen, klicken Sie auf das Dropdownmenü „Branch“ und dann auf Pull Request erstellen. Sie gelangen zum Git-Anbieter, wo Sie Pullanforderungen auslösen, Codereviews durchführen und Änderungen an Ihrem Kollaborationsbranch zusammenführen können. Sie können nur Veröffentlichungen für den Synapse-Dienst Ihres Kollaborationsbranchs durchführen.

Create a new pull request

Konfigurieren von Veröffentlichungseinstellungen

Synapse Studio generiert standardmäßig die Arbeitsbereichsvorlagen und speichert sie in einem Branch mit dem Namen workspace_publish. Um einen benutzerdefinierten Veröffentlichungsbranch zu konfigurieren, fügen Sie dem Stammordner im Kollaborationsbranch die Datei publish_config.json hinzu. Beim Veröffentlichen liest Synapse Studio diese Datei, sucht nach dem Feld publishBranch und speichert Arbeitsbereichsvorlagen-Dateien am angegebenen Speicherort. Wenn der Branch nicht vorhanden ist, wird er von Synapse Studio automatisch erstellt. Das nachstehende Beispiel zeigt, wie diese Datei aussieht:

{
    "publishBranch": "workspace_publish"
}

In Synapse Studio kann jeweils nur ein Veröffentlichungsbranch vorhanden sein. Wenn Sie einen neuen Branch für die Veröffentlichung angeben, wird der originale Branch für die Veröffentlichung nicht gelöscht. Wenn Sie den vorherigen Branch für die Veröffentlichung entfernen möchten, löschen Sie ihn manuell.

Veröffentlichen von Codeänderungen

Nachdem Sie die Änderungen mit dem Kollaborationsbranch gemergt haben, klicken Sie auf Veröffentlichen, um Ihre Codeänderungen manuell im Kollaborationsbranch im Synapse-Dienst zu veröffentlichen.

Publish changes

Ein Seitenbereich wird geöffnet, in dem Sie bestätigen, dass der Branch für die Veröffentlichung und ausstehende Änderungen korrekt sind. Nachdem Sie Ihre Änderungen überprüft haben, klicken Sie auf OK, um die Veröffentlichung zu bestätigen.

Confirm the correct publish branch

Wichtig

Der Kollaborationsbranch ist nicht repräsentativ für das, was im Dienst bereitgestellt wird. Die Änderungen im Kollaborationsbranch müssen manuell veröffentlicht werden.

Wechseln zu einem anderen Git-Repository

Wenn Sie zu einem anderen Git-Repository wechseln möchten, navigieren Sie im Verwaltungshub unter Quellcodeverwaltung zur Seite mit der Git-Konfiguration. Wählen Sie Trennen aus.

Git icon

Geben Sie Ihren Arbeitsbereichsnamen ein, und klicken Sie auf Trennen, um das Git-Repository zu entfernen, das Ihrem Arbeitsbereich zugeordnet ist.

Nachdem Sie die Zuordnung zum aktuellen Repository entfernt haben, können Sie Ihre Git-Einstellungen zur Verwendung eines anderen Repositorys konfigurieren und dann vorhandene Ressourcen in das neue Repository importieren.

Wichtig

Beim Entfernen einer Git-Konfiguration aus einem Arbeitsbereich wird nichts aus dem Repository gelöscht. Der Synapse-Arbeitsbereich enthält alle veröffentlichten Ressourcen. Sie können den Arbeitsbereich weiterhin direkt für den Dienst bearbeiten.

Bewährte Methoden für die Git-Integration

  • Berechtigungen Sobald Sie über ein Git-Repository verfügen, das mit Ihrem Arbeitsbereich verbunden ist, kann jeder Benutzer, der mit einer beliebigen Rolle auf Ihr Git-Repository in Ihrem Arbeitsbereich zugreifen kann, Artefakte wie SQL-Skript, Notebook, Definition des Spark-Auftrags, Dataset, Datenfluss und Pipeline im Git-Modus aktualisieren. Normalerweise möchten Sie nicht, dass jedes Teammitglied die Berechtigung zum Aktualisieren des Arbeitsbereichs hat. Erteilen Sie die Git-Repositoryberechtigung nur den Artefaktautoren von Synapse.
  • Zusammenarbeit. Es wird empfohlen, keine direkten Eincheckvorgänge im Kollaborationsbranch zuzulassen. Diese Einschränkung kann dazu beitragen, Fehler zu vermeiden, da jeder Eincheckvorgang einen Pull Request-Prozess durchläuft, der unter Erstellen von Featurebranches beschrieben ist.
  • Synapse-Livemodus. Nach dem Veröffentlichen im Git-Modus werden alle Änderungen im Synapse-Livemodus angezeigt. Im Synapse-Livemodus ist die Veröffentlichung deaktiviert. Wenn Sie die richtige Berechtigung erhalten haben, können Sie außerdem Artefakte im Livemodus anzeigen und ausführen.
  • Bearbeiten von Artefakten in Studio. Nur in Synapse Studio können Sie die Quellcodeverwaltung des Arbeitsbereichs aktivieren und Änderungen automatisch mit Git synchronisieren. Jede Änderung über das SDK oder PowerShell wird nicht mit Git synchronisiert. Sie sollten Artefakte immer in Studio bearbeiten, wenn Git aktiviert ist.

Problembehandlung bei der Git-Integration

Zugriff auf den Git-Modus

Wenn Ihnen die Berechtigung für das GitHub-Git-Repository erteilt wurde, das mit Ihrem Arbeitsbereich verknüpft ist, Sie aber nicht auf den Git-Modus zugreifen können:

  1. Löschen Sie Ihren Cache und aktualisieren Sie die Seite.

  2. Melden Sie sich bei Ihrem GitHub-Konto an.

Veralteter Branch für die Veröffentlichung

Wenn der Branch für die Veröffentlichung nicht mit dem Kollaborationsbranch synchron ist und trotz einer aktuellen Veröffentlichung veraltete Ressourcen enthält, versuchen Sie die folgenden Schritte:

  1. Entfernen des aktuellen Git-Repositorys

  2. Konfigurieren Sie Git mit denselben Einstellungen neu. Stellen Sie jedoch sicher, dass Vorhandene Ressourcen in Repository importieren ausgewählt ist, und wählen Sie denselben Branch aus.

  3. Erstellen eines Pull Request zum Mergen der Änderungen in den Kollaborationsbranch

Nicht unterstützte Funktionen

  • Standardmäßig lässt Synapse Studio ein Cherrypicking von Commits oder die selektive Veröffentlichung von Ressourcen nicht zu.
  • Synapse Studio unterstützt die Anpassung der Commitnachricht nicht.
  • Entwurfsbedingt wird die Löschaktion in Studio direkt an Git committet.

Nächste Schritte