Pipelines mit der Versionsverwaltung verwalten

Auf dieser Seite wird beschrieben, wie Sie Pipelines in Cloud Data Fusion mithilfe von Git-Repositories über die Quellcodeverwaltung verwalten.

Versionsverwaltung

Mit Cloud Data Fusion können Sie Pipelines für ETL- und ELT-Integrationen visuell gestalten. Um Pipelines zwischen Entwicklung und Produktion besser zu verwalten, ermöglicht Cloud Data Fusion die Quellcodeverwaltung der Pipelines mit GitHub und anderen Versionskontrollsystemen.

Mit der Quellcodeverwaltung in Cloud Data Fusion haben Sie folgende Möglichkeiten:

  • Jeden Cloud Data Fusion-Namespace in ein Versionsverwaltungssystem einbinden
  • Verwalten Sie Ihre Pipelines in einem zentralen Git-Repository.
  • Pipelineänderungen prüfen und auditieren.
  • Pipelineänderungen rückgängig machen
  • Effektiv mit dem Team zusammenarbeiten und gleichzeitig die zentrale Kontrolle behalten

Hinweis

  • Die Quellcodeverwaltung unterstützt die Integration mit GitHub-, Bitbucket Server-, Bitbucket Cloud- und GitLab-Repositories.
  • GitHub OAuth wird nicht unterstützt.
  • Die Versionsverwaltung unterstützt nur Batchpipelines.
  • Die Quellcodeverwaltung unterstützt nur JSON-Dateien für das Pipeline-Design für Push- und Pull-Vorgänge. Ausführungskonfigurationen werden nicht unterstützt.
  • Das Größenlimit des verknüpften Repositorys beträgt 5 GB.

Erforderliche Rollen und Berechtigungen

Die Quellcodeverwaltung in Cloud Data Fusion besteht aus zwei Hauptvorgängen:

  • Quellcodeverwaltung-Repositories konfigurieren
  • Pipelines mit Git-Repositories synchronisieren (Push- und Pull-Vorgänge)

Bitten Sie Ihren Administrator, Ihnen eine der folgenden vordefinierten Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung der Quellcodeverwaltung benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Sie können die erforderlichen Berechtigungen möglicherweise auch über andere vordefinierte Rollen erhalten.

Git-Repository einrichten

Wenn Sie ein Git-Repository in GitHub erstellen möchten, folgen Sie der Anleitung unter Repository erstellen.

Weitere Informationen zu persönlichen Zugriffstokens in GitHub und anderen Versionskontrollsystemen finden Sie auf den folgenden Seiten:

Git-Repository mit Cloud Data Fusion verbinden

Mit Cloud Data Fusion können Sie Ihr Git-Repository für jeden Namespace auf dem Tab „Source Control Management“ (Quellcodeverwaltung) konfigurieren und verbinden. So verknüpfen Sie einen Namespace mit Ihrem Git-Repository:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Quellcodeverwaltung.
  4. Klicken Sie auf Repository verknüpfen.
  5. Geben Sie die folgenden Informationen ein:

    • Anbieter: Wählen Sie einen Git-Dienstanbieter wie GitHub oder GitLab aus.
    • Repository-URL: Geben Sie die URL ein, über die auf Ihr Repository zugegriffen werden kann. Für GitHub lautet die Repository-URL https://github.com/HOST/REPO.
    • Standardzweig (optional): Geben Sie den ursprünglichen Zweig des Git ein. Dieser Branch kann sich vom Standardbranch unterscheiden, der auf GitHub konfiguriert ist. Dieser Branch wird zum Synchronisieren von Pipelines verwendet, unabhängig vom Standardbranch auf GitHub.
    • Pfadpräfix (optional): Geben Sie ein Präfix für den Namen Ihrer Pipeline ein, das im Git-Repository gespeichert wird. Wenn Ihr Pipelinename beispielsweise DataFusionQuickStart lautet und Sie das Präfix als namespaceName angeben, wird die Pipeline als namespaceName/DataFusionQuickStart im Git-Repository gespeichert.
    • Authentifizierungstyp: In Cloud Data Fusion können Sie das personalisierte Zugriffstoken als Authentifizierungstyp verwenden. Diese Option wird automatisch ausgewählt.
    • Tokenname: Geben Sie einen Namen ein, der mit dem Token verknüpft werden kann.
    • Token: Geben Sie das vom GitHub-Repository bereitgestellte Token ein.
    • Optional: Nutzername: Geben Sie einen Nutzernamen oder einen Inhaber für das Token ein.
  6. Klicken Sie auf Validieren. Warten Sie, bis die Verbindung überprüft wurde.

  7. Wenn die Konfiguration abgeschlossen ist, klicken Sie auf Speichern und schließen, um die Konfiguration zu bestätigen.

Git-Repository mit Cloud Data Fusion verbinden

REST API

  1. Erstellen Sie einen geheimen Schlüssel in Cloud Data Fusion, der das persönliche Zugriffstoken enthält.

  2. Führen Sie dazu diesen Befehl aus:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/securekeys/PASSWORD_SECRET_KEY -X PUT -d '{ "description": "Example Secure Key","data": "PERSONAL_ACCESS_TOKEN"}'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • PASSWORD_SECRET_KEY: Der Name des geheimen Schlüssels, der das persönliche Zugriffstoken enthält.
    • PERSONAL_ACCESS_TOKEN: persönliches Zugriffstoken von GitHub.
  3. Führen Sie dazu diesen Befehl aus:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X PUT -d '{"test": "TEST_ONLY", "config": {"provider": "PROVIDER_TYPE", "link": "REPO_URL", "defaultBranch": "DEFAULT_BRANCH", "pathPrefix": "PATH_TO_DIRECTORY", "auth": {"type": "AUTH_TYPE", "patConfig": {"passwordName": "PASSWORD_SECRET_KEY", "username": "USER_NAME"}}}}'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • TEST_ONLY: Auf true setzen, wenn Sie nur die Konfiguration validieren und nicht hinzufügen möchten.
    • PROVIDER_TYPE: Der Name des Git-Anbieters, also GITHUB.
    • REPO_URL: Die URL des Repositorys, das verknüpft werden soll. Verwenden Sie eine https-URL, z. B. https://github.com/user/repo.git.
    • DEFAULT_BRANCH: Branch, der für Push- und Pull-Vorgänge verwendet wird. Wenn nichts angegeben ist, wird der standardmäßig konfigurierte Zweig im Repository verwendet, z. B. der Hauptzweig.
    • PATH_TO_DIRECTORY: Pfad zum Verzeichnis im Repository, in dem Konfigurationsdateien gespeichert sind.
    • AUTH_TYPE: der Authentifizierungstyp. Nur PAT wird unterstützt. Weitere Informationen finden Sie unter Granulares persönliches Zugriffstoken in GitHub.
    • PASSWORD_SECRET_KEY: Der Name des geheimen Schlüssels, der das persönliche Zugriffstoken für den Authentifizierungstyp PAT enthält.
    • USER_NAME: Sie können diesen Wert für den Authentifizierungstyp PAT weglassen.

Cloud Data Fusion-Pipelines mit einem Remote-Repository synchronisieren

Nachdem Sie ein Git-Repository mit einem Namespace konfiguriert haben, können Sie Pipelines per Push und Pull übertragen und mit dem Git-Repository synchronisieren.

Pipelines aus Cloud Data Fusion in ein Git-Repository übertragen

So synchronisieren Sie mehrere bereitgestellte Pipelines aus einem Namespace mit einem Git-Repository:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Quellcodeverwaltung.
  4. Suchen Sie das Git-Repository, mit dem Sie synchronisieren möchten, und klicken Sie auf Pipelines synchronisieren.
  5. Klicken Sie auf den Tab Namespace-Pipelines.
  6. Suchen Sie nach den Pipelines, die Sie in das Git-Repository übertragen möchten, und wählen Sie sie aus.

    Wenn die aktuelle Version der Pipeline in das Git-Repository übertragen oder daraus abgerufen wird, wird der Status Mit Git verbunden als Connected angezeigt. Wenn die Pipeline noch nie auf GitHub übertragen wurde, ist der Status Mit Git verbunden leer (-).

    Wenn Sie eine neuere Version einer Pipeline bereitstellen, die bereits mit dem Git-Repository synchronisiert ist, ändert sich der Status Mit Git verbunden von Connected zu leer (-).

  7. Klicken Sie auf In Repository übertragen.

  8. Geben Sie eine Commit-Nachricht ein und klicken Sie auf OK.

    Der Push-Vorgang wird gestartet und es wird eine Meldung angezeigt, die darauf hinweist, dass die ausgewählten Pipelines in das Remote-Repository übertragen werden.

Pipelines aus Cloud Data Fusion in ein Git-Repository übertragen.

Wenn der Push-Vorgang erfolgreich abgeschlossen wurde, wird eine Erfolgsmeldung mit der Anzahl der Pipelines angezeigt, die in das Remote-Repository übertragen wurden.

Wenn der Push-Vorgang fehlschlägt, prüfen Sie in GitHub, ob es sich bei der Pipeline um die aktuelle Version handelt. Für jeden fehlgeschlagenen Push-Vorgang wird eine Fehlermeldung angezeigt. Maximieren Sie die Fehlermeldung, um die Details des Fehlers aufzurufen.

Sie können auch einzelne Pipelines aus dem Pipeline-Designstudio in ein Git-Repository übertragen:

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Liste.
  3. Klicken Sie auf die Pipeline, die Sie in das Git-Repository übertragen möchten.
  4. Klicken Sie auf der Pipeline-Seite auf Aktionen > Push to repository (In Repository pushen).
  5. Geben Sie eine Commit-Nachricht ein und klicken Sie auf OK.

Pipelines aus dem Pipeline-Designstudio übertragen

REST API

  1. Übertragen Sie eine Reihe von Pipelines aus Cloud Data Fusion in das Git-Repository:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/push -X POST
    -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}, "commitMessage": "COMMIT_MESSAGE"'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: Namen der Pipelines, die übertragen werden sollen.
    • COMMIT_MESSAGE: Commit-Nachricht für den Git-Commit.

    Die Antwort enthält die ID des Push-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Führen Sie den folgenden Befehl aus, um den Status des Push-Vorgangs abzufragen:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • OPERATION_ID: die Vorgangs-ID, die vom Push-Vorgang empfangen wurde.

    Die Antwort enthält den Status des Push-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Prüfen Sie die Eigenschaft done in der Antwort, um festzustellen, ob der Push-Vorgang abgeschlossen ist. Wenn der Vorgang fehlgeschlagen ist, finden Sie weitere Informationen in der Eigenschaft error.

Pipelines aus einem Git-Repository in Cloud Data Fusion abrufen

So synchronisieren Sie mehrere Pipelines aus einem Git-Repository mit Ihrem Namespace:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Quellcodeverwaltung.
  4. Suchen Sie das Git-Repository, das Sie synchronisieren möchten, und klicken Sie auf Pipelines synchronisieren.
  5. Klicken Sie auf den Tab Repository pipelines (Repository-Pipelines). Alle im Git-Repository gespeicherten Pipelines werden angezeigt.
  6. Suchen Sie nach den Pipelines, die Sie aus dem Git-Repository in Ihren Cloud Data Fusion-Namespace übernehmen möchten, und wählen Sie sie aus.
  7. Klicken Sie auf Aus Repository abrufen.

    Der Pull-Vorgang wird gestartet und es wird eine Meldung angezeigt, die darauf hinweist, dass die ausgewählten Pipelines aus dem Remote-Repository abgerufen werden. Cloud Data Fusion sucht unter dem konfigurierten Pfad nach JSON-Dateien und ruft sie ab und stellt sie als Pipelines in Cloud Data Fusion bereit.

Pipelines aus einem Git-Repository in Cloud Data Fusion abrufen

Wenn der Pull-Vorgang erfolgreich abgeschlossen wurde, wird eine Erfolgsmeldung mit der Anzahl der Pipelines angezeigt, die aus dem Remote-Repository abgerufen wurden.

Wenn der Pull-Vorgang fehlschlägt, wird eine Fehlermeldung angezeigt. Wenn Sie die Details des Fehlers aufrufen möchten, maximieren Sie die Fehlermeldung.

Sie können auch einzelne Pipelines aus einem Git-Repository in einen Namespace ziehen:

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Liste.
  3. Klicken Sie auf die Pipeline, die Sie aus dem Git-Repository abrufen möchten.
  4. Klicken Sie auf der Pipeline-Seite auf Aktionen > Aus Repository abrufen.

Pipelines aus dem Pipeline-Designstudio abrufen

REST API

  1. Rufen Sie eine Reihe von Pipelines aus dem Git-Repository in Cloud Data Fusion ab:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/pull -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: Namen der Pipelines, die abgerufen werden sollen.

    Die Antwort enthält die ID des Pull-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Führen Sie den folgenden Befehl aus, um den Status des Pull-Vorgangs abzufragen:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • OPERATION_ID: die Vorgangs-ID, die vom Pull-Vorgang empfangen wurde.

    Die Antwort enthält den Status des Pull-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Prüfen Sie die Eigenschaft done in der Antwort, um festzustellen, ob der Pull-Vorgang abgeschlossen ist. Wenn der Vorgang fehlgeschlagen ist, finden Sie weitere Informationen in der Eigenschaft error.

Konfiguration des Git-Repositorys löschen

So löschen Sie die Git-Repository-Konfiguration aus einem Namespace:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Quellcodeverwaltung.
  4. Klicken Sie für die Git-Repository-Konfiguration, die Sie löschen möchten, auf  > Löschen.

REST API

Löschen Sie die Git-Repository-Konfiguration:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X DELETE

Ersetzen Sie NAMESPACE_ID durch die ID des Namespace.

Nächste Schritte