Quellcodeverwaltung in Azure Data FactorySource control in Azure Data Factory

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Standardmäßig erfolgt die Erstellung mit der Azure Data Factory-Benutzeroberfläche (UX) direkt für den Data Factory-Dienst.By default, the Azure Data Factory user interface experience (UX) authors directly against the data factory service. Für diese Umgebung gelten die folgenden Einschränkungen:This experience has the following limitations:

  • Der Data Factory-Dienst umfasst kein Repository zum Speichern der JSON-Entitäten für Ihre Änderungen.The Data Factory service doesn't include a repository for storing the JSON entities for your changes. Änderungen können nur über die Schaltfläche Alle veröffentlichen gespeichert werden, und sämtliche Änderungen werden direkt im Data Factory-Dienst veröffentlicht.The only way to save changes is via the Publish All button and all changes are published directly to the data factory service.
  • Der Data Factory-Dienst ist nicht für Kollaboration oder Versionskontrolle optimiert.The Data Factory service isn't optimized for collaboration and version control.
  • Die für die Bereitstellung von Data Factory selbst erforderliche Azure Resource Manager-Vorlage ist nicht darin enthalten.The Azure Resource Manager template required to deploy Data Factory itself is not included.

Um eine bessere Erstellung zu ermöglichen, können Sie mit Azure Data Factory ein Git-Repository mit Azure Repos oder GitHub konfigurieren.To provide a better authoring experience, Azure Data Factory allows you to configure a Git repository with either Azure Repos or GitHub. Git ist ein Versionskontrollsystem, das eine einfachere Änderungsnachverfolgung und Kollaboration ermöglicht.Git is a version control system that allows for easier change tracking and collaboration. In diesem Artikel wird erläutert, wie Sie ein Git-Repository konfigurieren und in diesem arbeiten. Außerdem finden Sie hier Best Practices und eine Anleitung zur Problembehandlung.This article will outline how to configure and work in a git repository along with highlighting best practices and a troubleshooting guide.

Hinweis

Die Git-Integration von Azure Data Factory ist in der Azure Government-Cloud nur für GitHub Enterprise verfügbar.Azure Data Factory git integration is only available for GitHub Enterprise in the Azure Government Cloud.

Um zu erfahren, wie die Integration von Azure Data Factory in Git funktioniert, sehen Sie sich das folgende 15-minütige Videotutorial an:To learn more about how Azure Data Factory integrates with Git, view the 15-minute tutorial video below:

Vorteile der Git-IntegrationAdvantages of Git integration

Im Folgenden finden Sie eine Liste einiger der Vorteile der Git-Integration für die Erstellung:Below is a list of some of the advantages git integration provides to the authoring experience:

  • Quellcodeverwaltung: Wenn Ihre Data Factory-Workloads sehr wichtig sind, sollten Sie Ihre Factory in Git integrieren, um verschiedene Vorteile der Quellcodeverwaltung wie die folgenden nutzen zu können:Source control: As your data factory workloads become crucial, you would want to integrate your factory with Git to leverage several source control benefits like the following:
    • Möglichkeit zum Nachverfolgen/Überwachen von ÄnderungenAbility to track/audit changes.
    • Möglichkeit zum Rückgängigmachen von Änderungen, die Fehler verursacht habenAbility to revert changes that introduced bugs.
  • Partielle Speicherungen: Wenn Sie eine Erstellung für den Data Factory-Dienst durchführen, können Sie Änderungen nicht als Entwurf speichern, und alle Veröffentlichungen müssen die Data Factory-Validierung durchlaufen.Partial saves: When authoring against the data factory service, you can't save changes as a draft and all publishes must pass data factory validation. Falls Ihre Pipelines noch nicht fertig sind oder Sie einfach im Fall eines Computerabsturzes keine Änderungen verlieren möchten, ermöglicht die Git-Integration inkrementelle Änderungen von Data Factory-Ressourcen unabhängig von ihrem Zustand.Whether your pipelines are not finished or you simply don't want to lose changes if your computer crashes, git integration allows for incremental changes of data factory resources regardless of what state they are in. Durch das Konfigurieren eines Git-Repositorys können Sie Änderungen speichern und die Veröffentlichung erst dann durchführen, wenn Sie Ihre Änderungen zu Ihrer Zufriedenheit getestet haben.Configuring a git repository allows you to save changes, letting you only publish when you have tested your changes to your satisfaction.
  • Kollaboration und Steuerung: Wenn mehrere Ihrer Teammitglieder Beiträge zur selben Factory liefern, empfiehlt es sich, Ihre Teamkollegen über einen Code Review-Prozess miteinander zusammenarbeiten zu lassen.Collaboration and control: If you have multiple team members contributing to the same factory, you may want to let your teammates collaborate with each other via a code review process. Sie können die Factory auch so einrichten, dass nicht alle Mitwirkenden über die gleichen Berechtigungen verfügen.You can also set up your factory such that not every contributor has equal permissions. Einige Teammitglieder sind möglicherweise nur berechtigt, Änderungen über Git vorzunehmen, und nur bestimmte Personen im Team dürfen die Änderungen an der Factory veröffentlichen.Some team members may only be allowed to make changes via Git and only certain people in the team are allowed to publish the changes to the factory.
  • Bessere CI/CD: Wenn Sie eine Bereitstellung in mehreren Umgebungen mit einem Continuous Delivery-Prozess durchführen, werden bestimmte Aktionen durch die Git-Integration vereinfacht.Better CI/CD: If you are deploying to multiple environments with a continuous delivery process, git integration makes certain actions easier. Zu diesen Aktionen zählen beispielsweise folgende:Some of these actions include:
    • Konfigurieren Ihrer Releasepipeline, sodass sie automatisch ausgelöst wird, sobald Änderungen an der Entwicklungsfactory vorgenommen wurden.Configure your release pipeline to trigger automatically as soon as there are any changes made to your 'dev' factory.
    • Anpassen der Eigenschaften in Ihrer Factory, die als Parameter in der Resource Manager-Vorlage verfügbar sind.Customize the properties in your factory that are available as parameters in the Resource Manager template. Es kann hilfreich sein, nur die erforderlichen Eigenschaften als Parameter beizubehalten und alles andere fest zu codieren.It can be useful to keep only the required set of properties as parameters, and have everything else hard coded.
  • Höhere Leistung: Im Durchschnitt wird eine Factory mit Git-Integration 10-mal schneller geladen als eine für die Erstellung für den Data Factory-Dienst.Better Performance: An average factory with git integration loads 10 times faster than one authoring against the data factory service. Diese Leistungsverbesserung liegt daran, dass Ressourcen über Git heruntergeladen werden.This performance improvement is because resources are downloaded via Git.

Hinweis

Das direkte Erstellen mit dem Data Factory-Dienst wird auf der Azure Data Factory-Benutzeroberfläche deaktiviert, wenn ein Git-Repository konfiguriert ist.Authoring directly with the Data Factory service is disabled in the Azure Data Factory UX when a Git repository is configured. Änderungen, die über PowerShell oder ein SDK vorgenommen wurden, werden direkt im Data Factory-Dienst veröffentlicht und nicht bei Git eingegeben.Changes made via PowerShell or an SDK are published directly to the Data Factory service, and are not entered into Git.

Herstellen einer Verbindung mit einem Git-RepositoryConnect to a Git repository

Es gibt vier verschiedene Möglichkeiten, eine Verbindung zwischen einem Git-Repository und Ihrer Data Factory herzustellen – sowohl für Azure Repos als auch für GitHub.There are four different ways to connect a Git repository to your data factory for both Azure Repos and GitHub. Nachdem Sie eine Verbindung mit einem Git-Repository hergestellt haben, können Sie Ihre Konfiguration im Verwaltungshub unter Git-Konfiguration im Abschnitt Quellcodeverwaltung anzeigen und verwalten.After you connect to a Git repository, you can view and manage your configuration in the management hub under Git configuration in the Source control section

Konfigurationsmethode 1: StartseiteConfiguration method 1: Home page

Wählen Sie auf der Homepage von Azure Data Factory Coderepository einrichten aus.In the Azure Data Factory home page, select Set up Code Repository.

Konfigurieren eines Coderepositorys auf der Homepage

Konfigurationsmethode 2: ErstellungsbereichConfiguration method 2: Authoring canvas

Wählen Sie auf der Azure Data Factory-Benutzeroberfläche im Erstellungsbereich das Dropdownmenü Data Factory und dann Coderepository einrichten aus.In the Azure Data Factory UX authoring canvas, select the Data Factory drop-down menu, and then select Set up Code Repository.

Konfigurieren der Coderepositoryeinstellungen im Erstellungsbereich

Konfigurationsmethode 3: VerwaltungshubConfiguration method 3: Management hub

Wechseln Sie auf der ADF-Benutzeroberfläche zum Verwaltungshub.Go to the management hub in the ADF UX. Wählen Sie Git-Konfiguration im Abschnitt Quellcodeverwaltung aus.Select Git configuration in the Source control section. Wenn keine Repository verbunden ist, klicken Sie auf Coderepository einrichten.If you have no repository connected, click Set up code repository.

Konfigurieren der Coderepositoryeinstellungen im Verwaltungshub

Konfigurationsmethode 4: Während der Erstellung einer FactoryConfiguration method 4: During factory creation

Wenn Sie im Azure-Portal eine neue Data Factory erstellen, können Sie auf der Registerkarte Git-Konfiguration Informationen zum Git-Repository konfigurieren.When creating a new data factory in the Azure portal, you can configure Git repository information in the Git configuration tab.

Hinweis

Beim Konfigurieren von Git im Azure-Portal müssen Einstellungen wie Projektname und Repositoryname manuell eingegeben werden, da keine Dropdownliste zur Verfügung steht.When configuring git in the Azure Portal, settings like project name and repo name have to be manually entered instead being part of a dropdown.

Konfigurieren der Coderepositoryeinstellungen im Azure-Portal

Erstellen mit der Azure Repos Git-IntegrationAuthor with Azure Repos Git integration

Das visuelle Erstellen mit der Azure Repos Git-Integration unterstützt die Quellcodeverwaltung und Kollaboration beim Arbeiten an Data Factory-Pipelines.Visual authoring with Azure Repos Git integration supports source control and collaboration for work on your data factory pipelines. Sie können eine Data Factory einem Azure Repos Git-Organisationsrepository u.a. für die Quellcodeverwaltung, Kollaboration, Versionsverwaltung zuordnen.You can associate a data factory with an Azure Repos Git organization repository for source control, collaboration, versioning, and so on. Eine einzelne Azure Repos Git-Organisation kann über mehrere Repositorys verfügen. Allerdings kann ein Azure Repos Git-Repository nur einer einzigen Data Factory zugeordnet werden.A single Azure Repos Git organization can have multiple repositories, but an Azure Repos Git repository can be associated with only one data factory. Wenn Sie noch nicht über eine Azure Repos-Organisation oder ein -Repository verfügen, folgen Sie diesen Anweisungen zum Erstellen der Ressourcen.If you don't have an Azure Repos organization or repository, follow these instructions to create your resources.

Hinweis

Sie können Skript- und Datendateien in einem Azure Repos Git-Repository speichern.You can store script and data files in an Azure Repos Git repository. Allerdings müssen Sie die Dateien manuell in Azure Storage hochladen.However, you have to upload the files manually to Azure Storage. Eine Data Factory-Pipeline lädt Skript- oder Datendateien, die in einem Azure Repos Git-Repository gespeichert sind, nicht automatisch in Azure Storage hoch.A data factory pipeline doesn't automatically upload script or data files stored in an Azure Repos Git repository to Azure Storage.

Azure Repos-EinstellungenAzure Repos settings

Konfigurieren der Repositoryeinstellungen

Im Konfigurationsbereich werden die folgenden Einstellungen für das Coderepository für Azure Repos angezeigt:The configuration pane shows the following Azure Repos code repository settings:

EinstellungSetting BESCHREIBUNGDescription WertValue
RepositorytypRepository Type Der Typ des Coderepositorys für Azure Repos.The type of the Azure Repos code repository.
Azure DevOps Git oder GitHubAzure DevOps Git or GitHub
Azure Active DirectoryAzure Active Directory Ihr Name des Azure AD-Mandanten.Your Azure AD tenant name. <your tenant name>
Azure Repos-OrganisationAzure Repos Organization Der Name Ihrer Azure Repos-Organisation.Your Azure Repos organization name. Sie können den Namen Ihrer Azure Repos-Organisation unter https://{organization name}.visualstudio.com finden.You can locate your Azure Repos organization name at https://{organization name}.visualstudio.com. Sie können sich bei Ihrer Azure Repos-Organisation anmelden, um auf Ihr Visual Studio-Profil zuzugreifen und Ihre Repositorys und Projekte anzuzeigen.You can sign in to your Azure Repos organization to access your Visual Studio profile and see your repositories and projects. <your organization name>
ProjektnameProjectName Der Name Ihres Azure Repos-Projekts.Your Azure Repos project name. Sie können den Namen Ihres Azure Repos-Projekts unter https://{organization name}.visualstudio.com/{project name} finden.You can locate your Azure Repos project name at https://{organization name}.visualstudio.com/{project name}. <your Azure Repos project name>
RepositorynameRepositoryName Der Name Ihres Azure Repos-Coderepositorys.Your Azure Repos code repository name. Azure Repos-Projekte enthalten Git-Repositorys zum Verwalten Ihres Quellcodes, wenn Ihr Projekt umfangreicher wird.Azure Repos projects contain Git repositories to manage your source code as your project grows. Sie können ein neues Repository erstellen oder ein vorhandenes Repository verwenden, das sich bereits in Ihrem Projekt befindet.You can create a new repository or use an existing repository that's already in your project. <your Azure Repos code repository name>
Collaboration branch (Kollaborationsbranch)Collaboration branch Ihr Branch für die Azure Repos-Kollaboration, der für die Veröffentlichung verwendet wird.Your Azure Repos collaboration branch that is used for publishing. Dieser lautet standardmäßig main.By default, it's main. Ändern Sie diese Einstellung, falls Sie Ressourcen eines anderen Branchs veröffentlichen möchten.Change this setting in case you want to publish resources from another branch. <your collaboration branch name>
StammordnerRoot folder Ihr Stammordner im Branch für die Azure Repos-Kollaboration.Your root folder in your Azure Repos collaboration branch. <your root folder name>
Vorhandene Data Factory-Ressourcen in Repository importierenImport existing Data Factory resources to repository Gibt an, ob vorhandene Data Factory-Ressourcen aus dem Dokumenterstellungsbereich in ein Azure Repos Git-Repository importiert werden sollen.Specifies whether to import existing data factory resources from the UX Authoring canvas into an Azure Repos Git repository. Aktivieren Sie das Kontrollkästchen, um Ihre Data Factory-Ressourcen in das zugehörige Git-Repository im JSON-Format zu importieren.Select the box to import your data factory resources into the associated Git repository in JSON format. Diese Aktion exportiert jede Ressource einzeln (d. h. die verknüpften Dienste und Datasets werden in separate JSONs exportiert).This action exports each resource individually (that is, the linked services and datasets are exported into separate JSONs). Ist dieses Kontrollkästchen nicht aktiviert, werden die vorhandenen Ressourcen nicht importiert.When this box isn't selected, the existing resources aren't imported. Aktiviert (Standardeinstellung)Selected (default)
Branch zum Importieren der RessourceBranch to import resource into Gibt an, in welchen Branch die Data Factory-Ressourcen (Pipelines, Datasets, verknüpfte Dienste usw.) importiert werden.Specifies into which branch the data factory resources (pipelines, datasets, linked services etc.) are imported. Sie können Ressourcen in einen der folgenden Branches importieren: a.You can import resources into one of the following branches: a. Kollaboration b.Collaboration b. Neu erstellen c.Create new c. Vorhandene verwendenUse Existing

Hinweis

Wenn Sie Microsoft Edge verwenden und in der Dropdownliste Ihres Azure DevOps-Kontos keine Werte sehen, fügen Sie https://*.visualstudio.com zur Liste der vertrauenswürdigen Sites hinzu.If you are using Microsoft Edge and do not see any values in your Azure DevOps Account dropdown, add https://*.visualstudio.com to the trusted sites list.

Verwenden eines anderen Azure Active Directory-MandantenUse a different Azure Active Directory tenant

Das Azure Repos-Git-Repository kann sich in einem anderen Azure Active Directory-Mandanten befinden.The Azure Repos Git repo can be in a different Azure Active Directory tenant. Zum Angeben eines anderen Azure AD-Mandanten müssen Sie über Administratorberechtigungen für das verwendete Azure-Abonnement verfügen.To specify a different Azure AD tenant, you have to have administrator permissions for the Azure subscription that you're using. Weitere Informationen finden Sie unter Ändern des Abonnementadministrators.For more info, see change subscription administrator

Wichtig

Um eine Verbindung mit einer anderen Azure Active Directory-Instanz herstellen zu können, muss der angemeldete Benutzer zu diesem Verzeichnis gehören.To connect to another Azure Active Directory, the user logged in must be a part of that active directory.

Verwenden Ihres persönlichen Microsoft-KontosUse your personal Microsoft account

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.To use a personal Microsoft account for Git integration, you can link your personal Azure Repo to your organization's Active Directory.

  1. Fügen Sie Ihr persönliches Microsoft-Konto als Gast zum Active Directory Ihrer Organisation hinzu.Add your personal Microsoft account to your organization's Active Directory as a guest. Weitere Informationen finden Sie unter Hinzufügen von Azure Active Directory B2B-Zusammenarbeitsbenutzern über das Azure-Portal.For more info, see Add Azure Active Directory B2B collaboration users in the Azure portal.

  2. Melden Sie sich mit Ihrem persönlichen Microsoft-Konto beim Azure-Portal an.Log in to the Azure portal with your personal Microsoft account. Wechseln Sie dann zum Active Directory Ihrer Organisation.Then switch to your organization's Active Directory.

  3. Wechseln Sie zum Abschnitt für Azure DevOps – dort wird jetzt Ihr persönliches Repository angezeigt.Go to the Azure DevOps section, where you now see your personal repo. Wählen Sie das Repository aus, und verbinden Sie es mit Active Directory.Select the repo and connect with Active Directory.

Nach diesen Konfigurationsschritten ist Ihr persönliches Repository verfügbar, wenn Sie die Git-Integration auf der Data Factory-Benutzeroberfläche einrichten.After these configuration steps, your personal repo is available when you set up Git integration in the Data Factory UI.

Weitere Informationen zum Verbinden von Azure Repos mit dem Active Directory Ihrer Organisation finden Sie unter Verbinden Ihrer Azure DevOps-Organisation mit Azure Active Directory.For more info about connecting Azure Repos to your organization's Active Directory, see Connect your Azure DevOps organization to Azure Active Directory.

Erstellen der GitHub-IntegrationAuthor with GitHub integration

Das visuelle Erstellen mit GitHub-Integration unterstützt Quellcodeverwaltung und Kollaboration beim Arbeiten an den Data Factory-Pipelines.Visual authoring with GitHub integration supports source control and collaboration for work on your data factory pipelines. Sie können eine Data Factory einem GitHub-Kontorepository für die Quellcodeverwaltung, Kollaboration und Versionsverwaltung zuordnen.You can associate a data factory with a GitHub account repository for source control, collaboration, versioning. Ein einzelnes GitHub-Konto kann über mehrere Repositorys verfügen. Allerdings kann ein GitHub-Repository nur einer einzigen Data Factory zugeordnet werden.A single GitHub account can have multiple repositories, but a GitHub repository can be associated with only one data factory. Wenn Sie noch nicht über ein GitHub-Konto oder -Repository verfügen, folgen Sie diesen Anweisungen zum Erstellen der Ressourcen.If you don't have a GitHub account or repository, follow these instructions to create your resources.

Die GitHub-Integration von Data Factory unterstützt sowohl das öffentliche GitHub (also https://github.com) als auch GitHub Enterprise.The GitHub integration with Data Factory supports both public GitHub (that is, https://github.com) and GitHub Enterprise. Sie können öffentliche und private GitHub-Repositorys mit Data Factory verwenden, sofern Sie über Lese- und Schreibberechtigungen für das Repository in GitHub verfügen.You can use both public and private GitHub repositories with Data Factory as long you have read and write permission to the repository in GitHub.

Zum Konfigurieren eines GitHub-Repositorys müssen Sie über Administratorberechtigungen für das verwendete Azure-Abonnement verfügen.To configure a GitHub repo, you must have administrator permissions for the Azure subscription that you're using.

GitHub-EinstellungenGitHub settings

GitHub-Repositoryeinstellungen

Im Konfigurationsbereich werden die folgenden Einstellungen für das GitHub-Repository angezeigt:The configuration pane shows the following GitHub repository settings:

EinstellungSetting BeschreibungDescription WertValue
RepositorytypRepository Type Der Typ des Coderepositorys für Azure Repos.The type of the Azure Repos code repository. GitHubGitHub
GitHub Enterprise verwendenUse GitHub Enterprise Kontrollkästchen zum Auswählen von GitHub EnterpriseCheckbox to select GitHub Enterprise nicht ausgewählt (Standard)unselected (default)
GitHub Enterprise-URLGitHub Enterprise URL Die GitHub Enterprise-URL des Stamms (muss für den lokalen GitHub Enterprise-Server „HTTPS“ lauten).The GitHub Enterprise root URL (must be HTTPS for local GitHub Enterprise server). Beispiel: https://github.mydomain.com.For example: https://github.mydomain.com. Nur erforderlich, wenn GitHub Enterprise verwenden ausgewählt istRequired only if Use GitHub Enterprise is selected <your GitHub enterprise url>
GitHub-KontoGitHub account Ihr GitHub-Kontoname.Your GitHub account name. Sie finden diesen Namen unter https://github.com/{Kontoname}/{Repositoryname}.This name can be found from https://github.com/{account name}/{repository name}. Beim Navigieren zu dieser Seite werden Sie zur Eingabe der GitHub-OAuth-Anmeldeinformationen zu Ihrem GitHub-Konto aufgefordert.Navigating to this page prompts you to enter GitHub OAuth credentials to your GitHub account. <your GitHub account name>
RepositorynameRepository Name Der Name Ihres GitHub-Coderepositorys.Your GitHub code repository name. GitHub-Konten enthalten Git-Repositorys zum Verwalten Ihres Quellcodes.GitHub accounts contain Git repositories to manage your source code. Sie können ein neues Repository erstellen oder ein vorhandenes Repository verwenden, das sich bereits in Ihrem Konto befindet.You can create a new repository or use an existing repository that's already in your account. <your repository name>
Collaboration branch (Kollaborationsbranch)Collaboration branch Ihr Branch für die GitHub-Kollaboration, der für die Veröffentlichung verwendet wird.Your GitHub collaboration branch that is used for publishing. Standardmäßig ist dies der Mainbranch.By default, it's main. Ändern Sie diese Einstellung, falls Sie Ressourcen eines anderen Branchs veröffentlichen möchten.Change this setting in case you want to publish resources from another branch. <your collaboration branch>
StammordnerRoot folder Ihr Stammordner im Branch für die GitHub-Kollaboration.Your root folder in your GitHub collaboration branch. <your root folder name>
Vorhandene Data Factory-Ressourcen in Repository importierenImport existing Data Factory resources to repository Gibt an, ob vorhandene Data Factory-Ressourcen aus dem Erstellungsbereich auf der Benutzeroberfläche in ein GitHub-Repository importiert werden sollen.Specifies whether to import existing data factory resources from the UX authoring canvas into a GitHub repository. Aktivieren Sie das Kontrollkästchen, um Ihre Data Factory-Ressourcen in das zugehörige Git-Repository im JSON-Format zu importieren.Select the box to import your data factory resources into the associated Git repository in JSON format. Diese Aktion exportiert jede Ressource einzeln (d. h. die verknüpften Dienste und Datasets werden in separate JSONs exportiert).This action exports each resource individually (that is, the linked services and datasets are exported into separate JSONs). Ist dieses Kontrollkästchen nicht aktiviert, werden die vorhandenen Ressourcen nicht importiert.When this box isn't selected, the existing resources aren't imported. Aktiviert (Standardeinstellung)Selected (default)
Branch zum Importieren der RessourceBranch to import resource into Gibt an, in welchen Branch die Data Factory-Ressourcen (Pipelines, Datasets, verknüpfte Dienste usw.) importiert werden.Specifies into which branch the data factory resources (pipelines, datasets, linked services etc.) are imported. Sie können Ressourcen in einen der folgenden Branches importieren: a.You can import resources into one of the following branches: a. Kollaboration b.Collaboration b. Neu erstellen c.Create new c. Vorhandene verwendenUse Existing

GitHub-OrganisationenGitHub organizations

Um eine Verbindung mit einer GitHub-Organisation herstellen zu können, muss die Organisation eine Berechtigung für Azure Data Factory erteilen.Connecting to a GitHub organization requires the organization to grant permission to Azure Data Factory. Ein Benutzer mit Administratorberechtigungen in der Organisation muss die folgenden Schritte ausführen, damit Data Factory eine Verbindung herstellen kann.A user with ADMIN permissions on the organization must perform the below steps to allow data factory to connect.

Erstmaliges Herstellen einer Verbindung mit GitHub in Azure Data FactoryConnecting to GitHub for the first time in Azure Data Factory

Wenn Sie zum ersten Mal eine Verbindung zwischen Azure Data Factory und GitHub herstellen, führen Sie die folgenden Schritte aus, um eine Verbindung mit einer GitHub-Organisation herzustellen.If you're connecting to GitHub from Azure Data Factory for the first time, follow these steps to connect to a GitHub organization.

  1. Geben Sie im Bereich für die Git-Konfiguration den Namen der Organisation im Feld GitHub-Konto ein.In the Git configuration pane, enter the organization name in the GitHub Account field. Es wird eine Eingabeaufforderung zur Anmeldung bei GitHub angezeigt.A prompt to login into GitHub will appear.
  2. Melden Sie sich mit Ihren Benutzeranmeldeinformationen an.Login using your user credentials.
  3. Sie werden aufgefordert, Azure Data Factory als Anwendung namens AzureDataFactory zu autorisieren.You'll be asked to authorize Azure Data Factory as an application called AzureDataFactory. Auf diesem Bildschirm sehen Sie eine Option, mit der Sie ADF die Berechtigung zum Zugriff auf die Organisation erteilen können.On this screen, you will see an option to grant permission for ADF to access the organization. Wenn diese Option nicht angezeigt wird, bitten Sie einen Administrator, die Berechtigung manuell über GitHub zu erteilen.If you don't see the option to grant permission, ask an admin to manually grant the permission through GitHub.

Nachdem Sie diese Schritte ausgeführt haben, kann Ihre Factory eine Verbindung sowohl mit den privaten als auch mit den öffentlichen Repositorys in Ihrer Organisation herstellen.Once you follow these steps, your factory will be able to connect to both public and private repositories within your organization. Wenn keine Verbindung hergestellt werden kann, löschen Sie den Browsercache und versuchen es noch mal.If you are unable to connect, try clearing the browser cache and retrying.

Bereits über ein persönliches Konto mit GitHub verbundenAlready connected to GitHub using a personal account

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.If you have already connected to GitHub and only granted permission to access a personal account, follow the below steps to grant permissions to an organization.

  1. Wechseln Sie zu GitHub, und öffnen Sie die Einstellungen.Go to GitHub and open Settings.

    Öffnen der GitHub-Einstellungen

  2. Wählen Sie Anwendungen aus.Select Applications. Auf der Registerkarte Autorisierte OAuth-Apps sollte AzureDataFactory angezeigt werden.In the Authorized OAuth apps tab, you should see AzureDataFactory.

    Auswählen von OAuth-Apps

  3. Wählen Sie die Anwendung aus, und erteilen Sie ihr Zugriff auf Ihre Organisation.Select the application and grant the application access to your organization.

    Gewähren von Zugriff

Nachdem Sie diese Schritte ausgeführt haben, kann Ihre Factory eine Verbindung sowohl mit den privaten als auch mit den öffentlichen Repositorys in Ihrer Organisation herstellen.Once you follow these steps, your factory will be able to connect to both public and private repositories within your organization.

Bekannte GitHub-EinschränkungenKnown GitHub limitations

  • Sie können Skript- und Datendateien in einem GitHub-Repository speichern.You can store script and data files in a GitHub repository. Allerdings müssen Sie die Dateien manuell in Azure Storage hochladen.However, you have to upload the files manually to Azure Storage. Eine Data Factory-Pipeline lädt Skript- oder Datendateien, die in einem GitHub-Repository gespeichert sind, nicht automatisch in Azure Storage hoch.A Data Factory pipeline does not automatically upload script or data files stored in a GitHub repository to Azure Storage.

  • GitHub Enterprise-Versionen vor 2.14.0 funktionieren nicht im Browser Microsoft Edge.GitHub Enterprise with a version older than 2.14.0 doesn't work in the Microsoft Edge browser.

  • Die GitHub-Integration in die visuellen Data Factory-Erstellungstools funktioniert nur in der allgemein verfügbaren Version von Data Factory.GitHub integration with the Data Factory visual authoring tools only works in the generally available version of Data Factory.

  • Von einer einzelnen GitHub-Verzweigung können maximal 1.000 Entitäten pro Ressourcentyp wie Pipelines und Datasets abgerufen werden.A maximum of 1,000 entities per resource type (such as pipelines and datasets) can be fetched from a single GitHub branch. Sobald diese Begrenzung erreicht wurde, sollten Sie Ihre Ressourcen in einzelne Factorys aufteilen.If this limit is reached, is suggested to split your resources into separate factories. Azure DevOps-Git-Repositorys unterliegen dieser Einschränkung nicht.Azure DevOps Git does not have this limitation.

VersionskontrolleVersion control

Versionskontrollsysteme (auch als Quellcodeverwaltung bezeichnet) ermöglichen Entwicklern die Zusammenarbeit an Code und das Nachverfolgen von an der Codebasis vorgenommenen Änderungen.Version control systems (also known as source control) let developers collaborate on code and track changes that are made to the code base. Quellcodeverwaltung ist ein unverzichtbares Tool für Projekte, an denen mehrere Entwickler arbeiten.Source control is an essential tool for multi-developer projects.

Erstellen von FeaturebranchesCreating feature branches

Jedes Azure Repos Git-Repository, das einer Data Factory zugeordnet ist, verfügt über einen Branch für die Kollaboration.Each Azure Repos Git repository that's associated with a data factory has a collaboration branch. (main ist der Standardbranch für die Kollaboration.)(main) is the default collaboration branch). Benutzer können auch Featurebranches erstellen, indem sie im Dropdownmenü „Branch“ auf + Neuer Branch klicken.Users can also create feature branches by clicking + New Branch in the branch dropdown. Sobald der Bereich „Neuer Branch“ angezeigt wird, geben Sie den Namen Ihres Featurebranches ein.Once the new branch pane appears, enter the name of your feature branch.

Neuen Branch erstellen

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.When you are ready to merge the changes from your feature branch to your collaboration branch, click on the branch dropdown and select Create pull request. Dann gelangen Sie zu Azure Repos Git und können Pull Requests auslösen, Codereviews durchführen und Änderungen an Ihrem Kollaborationsbranch zusammenführen.This action takes you to Azure Repos Git where you can raise pull requests, do code reviews, and merge changes to your collaboration branch. (main ist die Standardeinstellung.)(main is the default). Sie können nur Veröffentlichungen für den Data Factory-Dienst Ihres Kollaborationsbranchs durchführen.You are only allowed to publish to the Data Factory service from your collaboration branch.

Erstellen eines neuen Pull Requests

Konfigurieren von VeröffentlichungseinstellungenConfigure publishing settings

Standardmäßig generiert Data Factory die Resource Manager-Vorlagen der veröffentlichten Factory und speichert sie in einem Branch mit dem Namen adf_publish.By default, data factory generates the Resource Manager templates of the published factory and saves them into a branch called adf_publish. Um einen benutzerdefinierten Veröffentlichungsbranch zu konfigurieren, fügen Sie dem Stammordner im Kollaborationsbranch die Datei publish_config.json hinzu.To configure a custom publish branch, add a publish_config.json file to the root folder in the collaboration branch. Beim Veröffentlichen liest ADF diese Datei, sucht nach dem Feld publishBranch und speichert alle Resource Manager-Vorlagen am angegebenen Speicherort.When publishing, ADF reads this file, looks for the field publishBranch, and saves all Resource Manager templates to the specified location. Wenn der Branch nicht vorhanden ist, wird er von Data Factory automatisch erstellt.If the branch doesn't exist, data factory will automatically create it. Das nachstehende Beispiel zeigt, wie diese Datei aussieht:And example of what this file looks like is below:

{
    "publishBranch": "factory/adf_publish"
}

In Azure Data Factory kann jeweils nur ein Veröffentlichungsbranch vorhanden sein.Azure Data Factory can only have one publish branch at a time. Wenn Sie einen neuen Branch für die Veröffentlichung angeben, löscht die Data Factory den vorherigen Branch für die Veröffentlichung nicht.When you specify a new publish branch, Data Factory doesn't delete the previous publish branch. Wenn Sie den vorherigen Branch für die Veröffentlichung entfernen möchten, löschen Sie ihn manuell.If you want to remove the previous publish branch, delete it manually.

Hinweis

Die Data Factory liest die publish_config.json-Datei nur, wenn diese die Factory lädt.Data Factory only reads the publish_config.json file when it loads the factory. Wenn die Factory bereits im Portal geladen ist, aktualisieren Sie den Browser, damit Ihre Änderungen übernommen werden.If you already have the factory loaded in the portal, refresh the browser to make your changes take effect.

Veröffentlichen von CodeänderungenPublish code changes

Nachdem Sie die Änderungen mit dem Kollaborationsbranch gemergt haben (main ist die Standardeinstellung), klicken Sie auf Veröffentlichen, um Ihre Codeänderungen manuell im Mainbranch im Data Factory-Dienst zu veröffentlichen.After you have merged changes to the collaboration branch (main is the default), click Publish to manually publish your code changes in the main branch to the Data Factory service.

Veröffentlichen von Änderungen für den Data Factory-Dienst

Ein Seitenbereich wird geöffnet, in dem Sie bestätigen, dass der Branch für die Veröffentlichung und ausstehende Änderungen korrekt sind.A side pane will open where you confirm that the publish branch and pending changes are correct. Nachdem Sie Ihre Änderungen überprüft haben, klicken Sie auf OK, um die Veröffentlichung zu bestätigen.Once you verify your changes, click OK to confirm the publish.

Überprüfen des Branch für die Veröffentlichung

Wichtig

Der Mainbranch ist nicht repräsentativ für das, was im Data Factory-Dienst bereitgestellt wird.The main branch is not representative of what's deployed in the Data Factory service. Der Mainbranch muss manuell im Data Factory-Dienst veröffentlicht werden.The main branch must be published manually to the Data Factory service.

Bewährte Methoden für die Git-IntegrationBest practices for Git integration

BerechtigungenPermissions

Normalerweise möchten Sie nicht, dass jedes Teammitglied die Berechtigung zum Aktualisieren der Data Factory hat.Typically you don't want every team member to have permissions to update the Data Factory. Die folgenden Berechtigungseinstellungen werden empfohlen:The following permissions settings are recommended:

  • Alle Teammitglieder sollten über Leseberechtigungen für die Data Factory verfügen.All team members should have read permissions to the Data Factory.
  • Nur eine ausgewählte Gruppe von Personen sollte in der Data Factory veröffentlichen dürfen.Only a select set of people should be allowed to publish to the Data Factory. Zu diesem Zweck muss diesen Personen die Rolle Data Factory-Mitwirkender für die Ressourcengruppe zugewiesen sein, die die Data Factory enthält.To do so, they must have the Data Factory contributor role on the Resource Group that contains the Data Factory. Weitere Informationen zu Berechtigungen finden Sie unter Rollen und Berechtigungen für Azure Data Factory.For more information on permissions, see Roles and permissions for Azure Data Factory.

Es wird empfohlen, keine direkten Eincheckvorgänge im Kollaborationsbranch zuzulassen.It's recommended to not allow direct check-ins to the collaboration branch. 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.This restriction can help prevent bugs as every check-in will go through a pull request review process described in Creating feature branches.

Verwenden von Kennwörtern aus Azure Key VaultUsing passwords from Azure Key Vault

Es wird empfohlen, Azure Key Vault zum Speichern von Verbindungszeichenfolgen oder Kennwörtern oder zur Authentifizierung verwalteter Identitäten für verknüpfte Data Factory-Dienste zu verwenden.It's recommended to use Azure Key Vault to store any connection strings or passwords or managed identity authentication for Data Factory Linked Services. Aus Sicherheitsgründen speichert Data Factory Geheimnisse nicht in Git.For security reasons, data factory doesn't store secrets in Git. Alle Änderungen an verknüpften Diensten mit Geheimnissen wie Kennwörtern werden sofort im Azure Data Factory-Dienst veröffentlicht.Any changes to Linked Services containing secrets such as passwords are published immediately to the Azure Data Factory service.

Durch die Verwendung von Key Vault oder der MSI-Authentifizierung werden Continuous Integration und Continuous Deployment vereinfacht, da Sie diese Geheimnisse nicht bei der Bereitstellung von Resource Manager-Vorlagen angeben müssen.Using Key Vault or MSI authentication also makes continuous integration and deployment easier as you won't have to provide these secrets during Resource Manager template deployment.

Problembehandlung bei der Git-IntegrationTroubleshooting Git integration

Veralteter Branch für die VeröffentlichungStale publish branch

Wenn der Branch für die Veröffentlichung nicht mit dem Mainbranch synchron ist und trotz einer aktuellen Veröffentlichung veraltete Ressourcen enthält, versuchen Sie die folgenden Schritte:If the publish branch is out of sync with the main branch and contains out-of-date resources despite a recent publish, try following these steps:

  1. Entfernen des aktuellen Git-RepositorysRemove your current Git repository
  2. Konfigurieren Sie Git mit denselben Einstellungen neu. Stellen Sie jedoch sicher, dass Vorhandene Data Factory Ressourcen in Repository importieren ausgewählt ist, und wählen Sie Neuer Branch aus.Reconfigure Git with the same settings, but make sure Import existing Data Factory resources to repository is selected and choose New branch
  3. Erstellen eines Pull Request zum Mergen der Änderungen in den KollaborationsbranchCreate a pull request to merge the changes to the collaboration branch

Im Folgenden werden einige Beispielsituationen veranschaulicht, die zu einem veralteten Branch für die Veröffentlichung führen können:Below are some examples of situations that can cause a stale publish branch:

  • Ein Benutzer verfügt über mehrere Branches.A user has multiple branches. In einem Featurebranch hat er einen verknüpften Dienst gelöscht, der nicht mit Azure Key Vault verbunden ist (nicht mit Azure Key Vault verknüpfte Dienste werden sofort veröffentlicht, unabhängig davon, ob sie sich in Git befinden). Der Featurebranch wurde nicht mit dem Zusammenarbeitsbranch zusammengeführt.In one feature branch, they deleted a linked service that isn't AKV associated (non-AKV linked services are published immediately regardless if they are in Git or not) and never merged the feature branch into the collaboration branch.
  • Ein Benutzer hat die Data Factory über das SDK oder über PowerShell bearbeitet.A user modified the data factory using the SDK or PowerShell
  • Ein Benutzer hat alle Ressourcen zu einem neuen Branch migriert und zum ersten Mal versucht, eine Veröffentlichung durchzuführen.A user moved all resources to a new branch and tried to publish for the first time. Verknüpfte Dienste sollten beim Importieren von Ressourcen manuell erstellt werden.Linked services should be created manually when importing resources.
  • Ein Benutzer lädt einen nicht mit Azure Key Vault verknüpften Dienst oder eine Integration Runtime-JSON-Datei manuell hoch.A user uploads a non-AKV linked service or an Integration Runtime JSON manually. Er verweist aus einer anderen Ressource auf diese Ressource, z. B. in einem Dataset, einem verknüpften Dienst oder einer Pipeline.They reference that resource from another resource such as a dataset, linked service, or pipeline. Ein über die Benutzeroberfläche erstellter, nicht mit Azure Key Vault verknüpfter Dienst wird sofort veröffentlicht, da die Anmeldeinformationen verschlüsselt werden müssen.A non-AKV linked service created through the UX is published immediately because the credentials need to be encrypted. Wenn Sie ein Dataset hochladen, das auf diesen verknüpften Dienst verweist, und versuchen, dieses zu veröffentlichen, wird das von der Benutzeroberfläche zugelassen, weil es in der Git-Umgebung enthalten ist.If you upload a dataset referencing that linked service and try to publish, the UX will allow it because it exists in the git environment. Es wird zum Zeitpunkt der Veröffentlichung abgelehnt, da es nicht im Data Factory-Dienst vorhanden ist.It will be rejected at publish time since it does not exist in the data factory service.

Wechseln zu einem anderen Git-RepositorySwitch to a different Git repository

Wenn Sie zu einem anderen Git-Repository wechseln möchten, navigieren Sie im Verwaltungshub unter Quellcodeverwaltung zur Seite mit der Git-Konfiguration.To switch to a different Git repository, go to Git configuration page in the management hub under Source control. Wählen Sie Trennen aus.Select Disconnect.

Git-Symbol

Geben Sie Ihren Data Factory Namen ein, und klicken Sie auf Bestätigen, um das Git-Repository zu entfernen, das Ihrer Data Factory-Instanz zugeordnet ist.Enter your data factory name and click confirm to remove the Git repository associated with your data factory.

Entfernen der Zuordnung zum aktuellen Git-Repository

Nachdem Sie die Zuordnung zum aktuellen Repository entfernt haben, können Sie Ihre Git-Einstellungen zur Verwendung eines anderen Repositorys konfigurieren und dann vorhandene Data Factory-Ressourcen in das neue Repository importieren.After you remove the association with the current repo, you can configure your Git settings to use a different repo and then import existing Data Factory resources to the new repo.

Wichtig

Beim Entfernen einer Git-Konfiguration aus einer Data Factory wird nichts aus dem Repository gelöscht.Removing Git configuration from a data factory doesn't delete anything from the repository. Die Factory enthält alle veröffentlichten Ressourcen.The factory will contain all published resources. Sie können die Factory weiterhin direkt für den Dienst bearbeiten.You can continue to edit the factory directly against the service.

Nächste SchritteNext steps