Repositories erstellen

In diesem Dokument wird beschrieben, wie Sie mit Repositories in BigQuery arbeiten. Dazu gehören die folgenden Aufgaben:

  • Repositories erstellen
  • Repositories löschen
  • Repositories freigeben
  • Optional: BigQuery-Repository mit einem Drittanbieter-Repository verbinden

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  8. Erforderliche Rollen

    Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Repositories und Arbeitsbereiche zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Arbeit mit Repositories und Arbeitsbereichen benötigen:

    • Gemeinsame Repositories erstellen und verwalten: Code Owner (roles/dataform.codeOwner)
    • Arbeitsbereiche in freigegebenen Repositories erstellen und löschen: Code-Editor (roles/dataform.codeEditor)
    • Dateien in Arbeitsbereichen in freigegebenen Repositorys erstellen, ändern und versionieren: Code Editor (roles/dataform.codeEditor)
    • Arbeitsbereiche und ihre Dateien in freigegebenen Repositories ansehen: Code Viewer (roles/dataform.codeViewer)
    • Private Repositories erstellen und verwalten, einschließlich aller Aktionen mit Arbeitsbereichen und Dateien im privaten Repository: Code Creator (roles/dataform.codeCreator)

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Hauptkonten mit der Rolle „Code-Editor“ für ein Repository können alle Arbeitsbereiche im Repository bearbeiten.

    Private Repositories, die Sie erstellen, sind weiterhin für Principals sichtbar, denen die Rolle „BigQuery-Administrator“ oder „BigQuery Studio-Administrator“ auf Projektebene zugewiesen ist. Diese Hauptkonten können Ihr privates Repository für andere Nutzer freigeben.

    Repository erstellen

    So erstellen Sie ein BigQuery-Repository:

    1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

      BigQuery aufrufen

    2. Klicken Sie im Bereich Explorer auf den Ordner Repositories.

    3. Klicken Sie im Editor auf Repository hinzufügen.

    4. Geben Sie im Bereich Repository erstellen im Feld Repository-ID eine eindeutige ID ein.

      IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.

    5. Wählen Sie in der Drop-down-Liste Region eine BigQuery-Region zum Speichern des Repositorys und seiner Inhalte aus. Wählen Sie die BigQuery-Region aus, die Ihrem Standort am nächsten ist.

      Eine Liste der verfügbaren BigQuery-Regionen finden Sie unter BigQuery Studio-Standorte. Die Repository-Region muss nicht mit dem Standort Ihrer BigQuery-Datasets übereinstimmen.

    6. Klicken Sie auf Erstellen.

    Mit einem Drittanbieter-Repository verbinden

    In diesem Abschnitt wird beschrieben, wie Sie ein BigQuery-Repository mit einem Remote-Repository verbinden. Nachdem Sie die Repositories verbunden haben, können Sie Git-Aktionen für die Dateien in den Arbeitsbereichen ausführen, die im Repository enthalten sind. Beispielsweise können Sie Updates aus dem Remote-Repository abrufen und Änderungen in das Remote-Repository übertragen.

    Wir empfehlen, für jedes Remote-Repository, mit dem Sie eine Verbindung herstellen, ein eigenes BigQuery-Repository zu erstellen. Geben Sie dem BigQuery-Repository einen ähnlichen Namen wie dem Remote-Repository, um die Zuordnung zu erleichtern.

    Sie können ein Remote-Repository über HTTPS oder SSH verbinden. Das Verbinden eines BigQuery-Repositorys mit einem Remote-Repository kann fehlschlagen, wenn das Remote-Repository nicht für das öffentliche Internet geöffnet ist, z. B. wenn es sich hinter einer Firewall befindet. In der folgenden Tabelle sind die unterstützten Git-Anbieter und die Verbindungsmethoden aufgeführt, die für ihre Repositories verfügbar sind:

    Git-Provider Verbindungsmethode
    Azure DevOps Services SSH
    Bitbucket SSH
    GitHub SSH oder HTTPS
    GitLab SSH oder HTTPS

    Remote-Repository über SSH verbinden

    Wenn Sie eine Verbindung zu einem Remote-Repository über SSH herstellen möchten, müssen Sie einen SSH-Schlüssel und ein Secret Manager-Secret generieren. Der SSH-Schlüssel besteht aus einem öffentlichen und einem privaten SSH-Schlüssel. Sie müssen den öffentlichen SSH-Schlüssel für Ihren Git-Anbieter freigeben und ein Secret Manager-Secret mit dem privaten SSH-Schlüssel erstellen. Geben Sie das Secret dann für Ihr Standard-BigQuery-Dienstkonto frei.

    BigQuery verwendet das Secret mit dem privaten SSH-Schlüssel, um sich bei Ihrem Git-Anbieter anzumelden und Änderungen im Namen von Nutzern zu committen. BigQuery führt diese Commits mit der E-Mail-Adresse des Nutzers Google Cloud aus, sodass Sie sehen können, wer die einzelnen Commits ausgeführt hat.

    So stellen Sie über SSH eine Verbindung zwischen einem Remote-Repository und einem BigQuery-Repository her:

    1. Gehen Sie bei Ihrem Git-Anbieter so vor:

    2. Erstellen Sie ein Secret in Secret Manager und fügen Sie Ihren privaten SSH-Schlüssel als Secret-Wert ein. Ihr privater SSH-Schlüssel sollte in einer Datei wie ~/.ssh/id_ed25519 gespeichert werden. Geben Sie dem Secret einen Namen, damit Sie es später wiederfinden.

    3. Gewähren Sie Ihrem Dataform-Standarddienstkonto Zugriff auf das Secret.

      Ihr Dataform-Standarddienstkonto hat das folgende Format:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    4. Weisen Sie dem Dienstkonto die Rolle roles/secretmanager.secretAccessor zu.

    5. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

      BigQuery aufrufen

    6. Maximieren Sie im Bereich Explorer den Ordner Repositories.

    7. Wählen Sie das BigQuery-Repository aus, das Sie mit dem Remote-Repository verbinden möchten.

    8. Wählen Sie im Editor den Tab Konfiguration aus.

    9. Klicken Sie auf Mit Git verbinden.

    10. Wählen Sie im Bereich Mit Remote-Repository verbinden das Optionsfeld SSH aus.

    11. Geben Sie im Feld Remote Git repository URL (URL des Remote-Git-Repositorys) die URL des Remote-Git-Repositorys ein, die mit .git endet.

      Die URL des Remote-Git-Repositorys muss eines der folgenden Formate haben:

      • Absolute URL: ssh://git@{host_name}[:{port}]/{repository_path}, port ist optional.
      • SCP-ähnliche URL: git@{host_name}:{repository_path}
    12. Geben Sie im Feld Standardname des Remote-Branch den Namen des Haupt-Branch des Remote-Git-Repositorys ein.

    13. Wählen Sie im Drop-down-Menü Secret das Secret aus, das Sie erstellt haben und das den privaten SSH-Schlüssel enthält.

    14. Geben Sie im Feld Wert des öffentlichen SSH-Hostschlüssels den öffentlichen Hostschlüssel Ihres Git-Anbieters ein.

      Azure DevOps Services

      Der Wert des öffentlichen SSH-Hostschlüssels muss im Format einer known_hosts-Datei vorliegen. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, der im base64-Format codiert ist, aber ohne den Hostnamen oder die IP-Adresse, im folgenden Format:

      ALGORITHM BASE64_KEY_VALUE
      

      Führen Sie den Befehl ssh-keyscan -t rsa ssh.dev.azure.com im Terminal aus, um den öffentlichen Hostschlüssel für Azure DevOps Services abzurufen.

      Bitbucket

      Der Wert des öffentlichen SSH-Hostschlüssels muss im Format einer known_hosts-Datei vorliegen. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, der im base64-Format codiert ist, aber ohne den Hostnamen oder die IP-Adresse, im folgenden Format:

      ALGORITHM BASE64_KEY_VALUE
      

      Informationen zum Abrufen des öffentlichen Bitbucket-Hostschlüssels finden Sie unter SSH konfigurieren.

      GitHub

      Der Wert des öffentlichen SSH-Hostschlüssels muss im Format einer known_hosts-Datei vorliegen. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, der im base64-Format codiert ist, aber ohne den Hostnamen oder die IP-Adresse, im folgenden Format:

      ALGORITHM BASE64_KEY_VALUE
      

      Informationen zum Abrufen des öffentlichen GitHub-Hostschlüssels finden Sie unter Fingerabdrücke des SSH-Schlüssels von GitHub.

      GitLab

      Der Wert des öffentlichen SSH-Hostschlüssels muss im Format einer known_hosts-Datei vorliegen. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, der im base64-Format codiert ist, aber ohne den Hostnamen oder die IP-Adresse, im folgenden Format:

      ALGORITHM BASE64_KEY_VALUE
      

      Informationen zum Abrufen des öffentlichen GitLab-Hostschlüssels finden Sie unter SSH-Einträge für known_hosts.

    15. Klicken Sie auf Verbinden.

    Remote-Repository über HTTPS verbinden

    Wenn Sie ein Remote-Repository über HTTPS verbinden möchten, müssen Sie ein Secret Manager-Secret mit einem persönlichen Zugriffstoken erstellen und das Secret für Ihr Standard-BigQuery-Dienstkonto freigeben.

    BigQuery verwendet das Zugriffstoken dann, um sich bei Ihrem Git-Anbieter anzumelden und Änderungen im Namen der Nutzer zu committen. BigQuery führt diese Commits mit der E-Mail-Adresse des Nutzers Google Cloud aus, sodass Sie sehen können, wer die einzelnen Commits ausgeführt hat.

    So verbinden Sie ein Remote-Repository über HTTPS mit einem BigQuery-Repository:

    1. Gehen Sie bei Ihrem Git-Anbieter so vor:

      GitHub

      1. Erstellen Sie in GitHub ein detailliertes persönliches Zugriffstoken oder ein klassisches persönliches Zugriffstoken.

        • So erstellen Sie ein detailliertes persönliches GitHub-Zugriffstoken:
        1. Wählen Sie den Repository-Zugriff auf nur ausgewählte Repositories aus und wählen Sie dann das Repository aus, mit dem Sie eine Verbindung herstellen möchten.

        2. Lese- und Schreibzugriff auf den Inhalt des Repositorys gewähren.

        3. Legen Sie eine Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.

        • Gehen Sie für ein klassisches persönliches GitHub-Zugriffstoken so vor:
        1. Gewähren Sie BigQuery die Berechtigung repo.

        2. Legen Sie eine Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.

      2. Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.

      GitLab

      1. Erstellen Sie in GitLab ein persönliches GitLab-Zugriffstoken.

      2. Geben Sie dem Token den Namen dataform. Das ist erforderlich.

      3. Gewähren Sie BigQuery die Berechtigungen api, read_repository und write_repository.

      4. Legen Sie eine Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.

    2. Erstellen Sie in Secret Manager ein Secret, das das persönliche Zugriffstoken Ihres Remote-Repositorys enthält.

    3. Gewähren Sie Ihrem Dataform-Standarddienstkonto Zugriff auf das Secret.

      Ihr Dataform-Standarddienstkonto hat das folgende Format:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    4. Weisen Sie dem Dienstkonto die Rolle roles/secretmanager.secretAccessor zu.

    5. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

      BigQuery aufrufen

    6. Maximieren Sie im Bereich Explorer den Ordner Repositories.

    7. Wählen Sie das BigQuery-Repository aus, das Sie mit dem Remote-Repository verbinden möchten.

    8. Wählen Sie im Editor den Tab Konfiguration aus.

    9. Klicken Sie auf Mit Git verbinden.

    10. Wählen Sie im Bereich Mit Remote-Repository verbinden das Optionsfeld HTTPS aus.

    11. Geben Sie im Feld Remote Git repository URL (URL des Remote-Git-Repositorys) die URL des Remote-Git-Repositorys ein, die mit .git endet.

      Die URL des Remote-Git-Repositorys darf keine Nutzernamen oder Passwörter enthalten.

    12. Geben Sie im Feld Standardname des Remote-Branch den Namen des Haupt-Branch des Remote-Git-Repositorys ein.

    13. Wählen Sie im Drop-down-Menü Secret das Secret aus, das Sie erstellt haben und das das persönliche Zugriffstoken enthält.

    14. Klicken Sie auf Verbinden.

    Verbindung zum Remote-Repository bearbeiten

    So bearbeiten Sie eine Verbindung zwischen einem BigQuery-Repository und einem Remote-Git-Repository:

    1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

      BigQuery aufrufen

    2. Maximieren Sie im Bereich Explorer den Ordner Repositories.

    3. Wählen Sie das BigQuery-Repository aus, dessen Verbindung Sie bearbeiten möchten.

    4. Wählen Sie im Editor den Tab Konfiguration aus.

    5. Klicken Sie auf der Repository-Seite auf Git-Verbindung bearbeiten.

    6. Verbindungseinstellungen bearbeiten.

    7. Klicken Sie auf Aktualisieren.

    Repository freigeben

    So geben Sie ein Repository frei:

    1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

      BigQuery aufrufen

    2. Klicken Sie im Bereich Explorer auf den Ordner Repositories.

    3. Wählen Sie im Bereich Git-Repositories das Repository aus, das Sie freigeben möchten.

    4. Klicken Sie auf die Option Aktionen und dann auf Freigeben.

    5. Klicken Sie im Bereich Freigabeberechtigungen auf Nutzer/Gruppe hinzufügen.

    6. Geben Sie im Bereich Nutzer/Gruppe hinzufügen im Feld Neue Hauptkonten einen oder mehrere Nutzer- oder Gruppennamen ein, die durch Kommas getrennt sind.

    7. Wählen Sie im Feld Rolle die Rolle aus, die den neuen Hauptkonten zugewiesen werden soll.

    8. Klicken Sie auf Speichern.

    Ein Repository löschen

    So löschen Sie ein Repository und seinen Inhalt:

    1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

      BigQuery aufrufen

    2. Klicken Sie im Bereich Explorer auf den Ordner Repositories.

    3. Wählen Sie im Bereich Git-Repositories das Repository aus, das Sie löschen möchten.

    4. Klicken Sie auf die Option Aktionen und dann auf Löschen.

    5. Klicken Sie auf Löschen.

    Nächste Schritte