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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
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
) Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf den Ordner Repositories.
Klicken Sie im Editor auf Repository hinzufügen.
Geben Sie im Bereich Repository erstellen im Feld Repository-ID eine eindeutige ID ein.
IDs dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
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.
Klicken Sie auf Erstellen.
Gehen Sie bei Ihrem Git-Anbieter so vor:
Azure DevOps Services
- Erstellen Sie in Azure DevOps Services einen privaten SSH-Schlüssel.
- Laden Sie den öffentlichen SSH-Schlüssel in Ihr Azure DevOps Services-Repository hoch.
Bitbucket
- Erstellen Sie in Bitbucket einen privaten SSH-Schlüssel.
- Laden Sie den öffentlichen SSH-Schlüssel in Ihr Bitbucket-Repository hoch.
GitHub
- Prüfen Sie in GitHub, ob bereits SSH-Schlüssel vorhanden sind.
- Wenn Sie keine SSH-Schlüssel haben oder einen neuen Schlüssel verwenden möchten, erstellen Sie einen privaten SSH-Schlüssel.
- Laden Sie den öffentlichen SSH-Schlüssel von GitHub in Ihr GitHub-Repository hoch.
GitLab
- Erstellen Sie in GitLab einen privaten SSH-Schlüssel.
- Laden Sie den öffentlichen SSH-Schlüssel von GitLab in Ihr GitLab-Repository hoch.
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.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
Weisen Sie dem Dienstkonto die Rolle
roles/secretmanager.secretAccessor
zu.Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Maximieren Sie im Bereich Explorer den Ordner Repositories.
Wählen Sie das BigQuery-Repository aus, das Sie mit dem Remote-Repository verbinden möchten.
Wählen Sie im Editor den Tab Konfiguration aus.
Klicken Sie auf Mit Git verbinden.
Wählen Sie im Bereich Mit Remote-Repository verbinden das Optionsfeld SSH aus.
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}
- Absolute URL:
Geben Sie im Feld Standardname des Remote-Branch den Namen des Haupt-Branch des Remote-Git-Repositorys ein.
Wählen Sie im Drop-down-Menü Secret das Secret aus, das Sie erstellt haben und das den privaten SSH-Schlüssel enthält.
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 imbase64
-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 imbase64
-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 imbase64
-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 imbase64
-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
.Klicken Sie auf Verbinden.
Gehen Sie bei Ihrem Git-Anbieter so vor:
GitHub
Erstellen Sie in GitHub ein detailliertes persönliches Zugriffstoken oder ein klassisches persönliches Zugriffstoken.
- So erstellen Sie ein detailliertes persönliches GitHub-Zugriffstoken:
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.
Lese- und Schreibzugriff auf den Inhalt des Repositorys gewähren.
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:
Gewähren Sie BigQuery die Berechtigung
repo
.Legen Sie eine Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.
Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.
GitLab
Erstellen Sie in GitLab ein persönliches GitLab-Zugriffstoken.
Geben Sie dem Token den Namen
dataform
. Das ist erforderlich.Gewähren Sie BigQuery die Berechtigungen
api
,read_repository
undwrite_repository
.Legen Sie eine Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.
Erstellen Sie in Secret Manager ein Secret, das das persönliche Zugriffstoken Ihres Remote-Repositorys enthält.
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
Weisen Sie dem Dienstkonto die Rolle
roles/secretmanager.secretAccessor
zu.Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Maximieren Sie im Bereich Explorer den Ordner Repositories.
Wählen Sie das BigQuery-Repository aus, das Sie mit dem Remote-Repository verbinden möchten.
Wählen Sie im Editor den Tab Konfiguration aus.
Klicken Sie auf Mit Git verbinden.
Wählen Sie im Bereich Mit Remote-Repository verbinden das Optionsfeld HTTPS aus.
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.
Geben Sie im Feld Standardname des Remote-Branch den Namen des Haupt-Branch des Remote-Git-Repositorys ein.
Wählen Sie im Drop-down-Menü Secret das Secret aus, das Sie erstellt haben und das das persönliche Zugriffstoken enthält.
Klicken Sie auf Verbinden.
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Maximieren Sie im Bereich Explorer den Ordner Repositories.
Wählen Sie das BigQuery-Repository aus, dessen Verbindung Sie bearbeiten möchten.
Wählen Sie im Editor den Tab Konfiguration aus.
Klicken Sie auf der Repository-Seite auf Git-Verbindung bearbeiten.
Verbindungseinstellungen bearbeiten.
Klicken Sie auf Aktualisieren.
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf den Ordner Repositories.
Wählen Sie im Bereich Git-Repositories das Repository aus, das Sie freigeben möchten.
Klicken Sie auf die Option
Aktionen und dann auf Freigeben.Klicken Sie im Bereich Freigabeberechtigungen auf Nutzer/Gruppe hinzufügen.
Geben Sie im Bereich Nutzer/Gruppe hinzufügen im Feld Neue Hauptkonten einen oder mehrere Nutzer- oder Gruppennamen ein, die durch Kommas getrennt sind.
Wählen Sie im Feld Rolle die Rolle aus, die den neuen Hauptkonten zugewiesen werden soll.
Klicken Sie auf Speichern.
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im Bereich Explorer auf den Ordner Repositories.
Wählen Sie im Bereich Git-Repositories das Repository aus, das Sie löschen möchten.
Klicken Sie auf die Option
Aktionen und dann auf Löschen.Klicken Sie auf Löschen.
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:
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:
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:
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:
Verbindung zum Remote-Repository bearbeiten
So bearbeiten Sie eine Verbindung zwischen einem BigQuery-Repository und einem Remote-Git-Repository:
Repository freigeben
So geben Sie ein Repository frei:
Ein Repository löschen
So löschen Sie ein Repository und seinen Inhalt: