Repositories erstellen

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

  • Repositories erstellen
  • Repositories löschen
  • Repositories freigeben
  • Optionale Verbindung eines BigQuery-Repositories mit einem Drittanbieter-Repository

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

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:

  • Freigegebene 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 Repositories 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.

Von Ihnen erstellte private Repositories sind weiterhin für Nutzer sichtbar, die auf Projektebene die Rolle „BigQuery-Administrator“ oder „BigQuery Studio-Administrator“ haben. Diese Hauptkonten können Ihr privates Repository für andere Nutzer freigeben.

Repository erstellen

So erstellen Sie ein BigQuery-Repository:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 Repositories und seines Inhalts 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 Speicherort Ihrer BigQuery-Datasets übereinstimmen.

  6. Klicken Sie auf Erstellen.

Verbindung zu einem Drittanbieter-Repository herstellen

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 auf die Dateien in den Arbeitsbereichen ausführen, die sich im Repository befinden. Beispielsweise können Sie Updates aus dem Remote-Repository abrufen und Änderungen an 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 verständlicher zu machen.

Sie können ein Remote-Repository über HTTPS oder SSH verbinden. 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-Dienste 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 BigQuery-Standarddienstkonto 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 aus Google Cloud , damit Sie sehen können, wer die einzelnen Commits vorgenommen 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 in Secret Manager ein Secret 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 sein. Geben Sie dem Secret einen Namen, damit Sie es später wiederfinden.

  3. Gewähren Sie dem Standarddienstkonto von Dataform Zugriff auf das Secret.

    Das Standarddienstkonto für Dataform 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. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 die Optionsschaltfläche SSH aus.

  11. Geben Sie im Feld URL des Remote-Git-Repositorys die URL des Remote-Git-Repositorys ein, die auf .git enden muss.

    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-Branches den Namen des Hauptzweigs des Remote-Git-Repositorys ein.

  13. Wählen Sie im Drop-down-Menü Secret das von Ihnen erstellte Secret aus, 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-Dienste

    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 Hostnamen oder 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 von 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 Hostnamen oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

    Informationen zum Abrufen des öffentlichen Hostschlüssels von Bitbucket 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 Hostnamen oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

    Informationen zum Abrufen des öffentlichen Hostschlüssels von GitHub finden Sie unter SSH-Schlüsselfingerabdrücke 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 Hostnamen oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

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

  15. Klicken Sie auf Verbinden.

Remote-Repository über HTTPS verbinden

Wenn Sie eine Verbindung zu einem Remote-Repository über HTTPS herstellen 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 dann das Zugriffstoken, 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 aus Google Cloud , damit Sie sehen können, wer welchen Commit vorgenommen hat.

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

  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 GitHub-persönliches Zugriffstoken:
      1. Wählen Sie den Repositoryzugriff nur für ausgewählte Repositories aus und wählen Sie dann das Repository aus, mit dem Sie eine Verbindung herstellen möchten.

      2. Gewähren Sie Lese- und Schreibzugriff auf den Inhalt des Repositories.

      3. Legen Sie eine Token-Ablaufzeit fest, die Ihren Anforderungen entspricht.

      • So erstellen Sie ein klassisches persönliches GitHub-Zugriffstoken:
      1. Gewähren Sie BigQuery die Berechtigung repo.

      2. Legen Sie eine Token-Ablaufzeit 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.

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

    4. Legen Sie eine Token-Ablaufzeit fest, die Ihren Anforderungen entspricht.

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

  3. Gewähren Sie dem Standarddienstkonto von Dataform Zugriff auf das Secret.

    Das Standarddienstkonto für Dataform 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. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 die Optionsschaltfläche HTTPS aus.

  11. Geben Sie im Feld URL des Remote-Git-Repositorys die URL des Remote-Git-Repositorys ein, die auf .git enden muss.

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

  12. Geben Sie im Feld Standardname des Remote-Branches den Namen des Hauptzweigs des Remote-Git-Repositorys ein.

  13. Wählen Sie im Drop-down-Menü Secret das von Ihnen erstellte Secret aus, 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. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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. Bearbeiten Sie die Verbindungseinstellungen.

  7. Klicken Sie auf Aktualisieren.

Repository freigeben

So geben Sie ein Repository frei:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 Teilen.

  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 Sie den neuen Hauptkonten zuweisen möchten.

  8. Klicken Sie auf Speichern.

Ein Repository löschen

So löschen Sie ein Repository und seinen Inhalt:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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