Code mit BigQuery Studio-Git-Repositories verwalten

Mit BigQuery Studio-Git-Repositories können Sie SQL-Skripts, Notebooks und andere Code-Assets direkt im BigQuery Studio-Dateibrowser versionsverwalten. Sie können Remote-Git-Repositories klonen, Branches verwalten und Git-Vorgänge ausführen, ohne die Cloud de Confiance Console zu verlassen.

Im Vergleich zu klassischen Repositories bietet diese Integration eine optimierte, ordnerbasierte Ansicht unter Ihrem Stammordner im linken Bereich. Sie können mit Ihren Code-Assets wie mit Standarddateien und -verzeichnissen interagieren und gleichzeitig eine Verbindung zu einem Remote-Git-Repository aufrechterhalten.

Beschränkungen

  • BigQuery Studio-Git-Repositories sind auf den Kontext des Stammordners des Nutzers beschränkt und für die private Nutzung vorgesehen. Geben Sie diese Repositories nicht für andere Nutzer frei. Diese Repositories werden zwar in Ihrem Nutzerstammordner angezeigt, der eine virtuelle Darstellung Ihrer Assets im Projekt ist, sie werden jedoch technisch auf Projektebene erstellt.
  • Die Verwendung eines Developer Connect-Konto-Connectors mit einem Git-Proxy wird nicht unterstützt.
  • Dateisystemvorgänge innerhalb des Bereitstellungsorts verbrauchen Dataform-Kontingent.
  • Repositories mit einer großen Anzahl von Dateien, großen Dateigrößen, vielen Branches oder einem tiefen und komplexen Commit-Verlauf benötigen mehr Zeit zum Klonen. Der Klonvorgang kann die Zeitüberschreitung für den Vorgang überschreiten, was verhindert, dass das Repository erfolgreich erstellt wird. Wenn Sie die Klonzeit für Repositories mit umfangreichen Commit-Verläufen reduzieren möchten, können Sie einen shallow Clone erstellen. Sie können bei Bedarf später weitere Commits abrufen.
  • Die Größe von Notebook-Dateien, die in einem Git-Repository-Mount von BigQuery Studio gespeichert sind, darf 30 MB nicht überschreiten. Wenn Ihre Dateien größer als 30 MB sind, speichern Sie sie im lokalen Speicher Ihrer Colab-Laufzeit außerhalb des bereitgestellten Speicherorts.
  • Wenn Sie Änderungen an einem Git-Repository außerhalb des Mounts vornehmen, z. B. durch Bearbeiten oder Umbenennen von Dateien im linken Bereich, kann es bis zu 60 Sekunden dauern, bis diese Änderungen im Mount in der Laufzeit Ihres Notebooks sichtbar werden. Sie können diese Dauer anpassen, indem Sie den Parameter CACHE_TTL_SECONDS an den Konstruktor übergeben:

      FuseWidget(CACHE_TTL_SECONDS=NUMBER)
    

    Ersetzen Sie NUMBER durch die Anzahl der Sekunden, die der Cache gültig bleiben soll. Wenn Sie diesen Wert verringern, wird die Häufigkeit der Synchronisierung erhöht und das Dataform-Kontingent schneller verbraucht.

Hinweis

Aktivieren Sie die Developer Connect API in Ihrem Cloud de Confiance -Projekt.

API aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Developer Connect OAuth User (roles/developerconnect.oauthUser) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Code mit BigQuery Studio-Git-Repositories benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwalten von Code mit BigQuery Studio-Git-Repositories erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Code mit BigQuery Studio-Git-Repositories zu verwalten:

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • developerconnect.operations.list
  • developerconnect.operations.get
  • developerconnect.locations.list
  • developerconnect.locations.get
  • developerconnect.users.startOAuth
  • developerconnect.users.finishOAuth
  • developerconnect.users.fetchAccessToken
  • developerconnect.users.getSelf
  • developerconnect.users.deleteSelf
  • developerconnect.accountConnectors.get
  • developerconnect.accountConnectors.list
  • developerconnect.accountConnectors.gitProxyUse
  • developerconnect.accountConnectors.httpProxyUse
  • developerconnect.accountConnectors.gitProxyRead
  • developerconnect.accountConnectors.gitProxyWrite
  • developerconnect.accountConnectors.httpProxyRead
  • developerconnect.accountConnectors.httpProxyWrite
  • developerconnect.accountConnectors.fetchUserRepositories

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Sicherheitsaspekte für Repositories

Da Code-Assets in BigQuery auf Dataform basieren, sollten Sie die folgenden Sicherheitsaspekte für Nutzer mit Zugriff auf diese Assets berücksichtigen:

  • Die Sichtbarkeit von Code-Assets unterliegt Dataform-Berechtigungen auf Projektebene. Nutzer mit der Berechtigung dataform.repositories.list, die in BigQuery-Standardrollen wie BigQuery Job User, BigQuery Studio User und BigQuery User enthalten ist, können alle Code-Assets im Bereich Explorer des Projekts Cloud de Confiance sehen, unabhängig davon, ob sie diese Assets erstellt haben oder ob diese Assets für sie freigegeben wurden. Wenn Sie die Sichtbarkeit einschränken möchten, können Sie benutzerdefinierte Rollen erstellen, die die Berechtigung dataform.repositories.list ausschließen.
  • Auf alle Secrets, die für den Dataform-Dienst-Agent freigegeben werden, können potenziell Nutzer zugreifen, die diese Assets bearbeiten können. Um Ihre Anmeldedaten zu schützen, sollten Sie den Erstellungs- und Bearbeitungszugriff auf vertrauenswürdige Nutzer beschränken und die Secrets, auf die der Dataform-Dienst-Agent zugreifen kann, einschränken. Weitere Informationen finden Sie unter Zugriff auf Secrets während der Paketinstallation.

Weitere Informationen finden Sie unter Sicherheitsaspekte für Dataform-Berechtigungen.

BigQuery Studio-Git-Repository erstellen

Beachten Sie beim Erstellen eines Git-Repositorys die folgenden Anforderungen:

  • Das Verbinden eines Remote-Git-Repositorys mit einem Git-Repository kann fehlschlagen, wenn das Remote-Repository nicht für das öffentliche Internet zugänglich ist, z. B. wenn es sich hinter einer Firewall befindet. Fügen Sie in diesem Fall die erforderlichen IP-Adressbereiche für ausgehenden Dataform-Traffic zu Ihren Firewallregeln hinzu, um Verbindungen zu geschützten Remote-Repositories zu ermöglichen.
  • Wenn Sie ein Git-Repository erstellen möchten, das mit einem Remote-Git-Repository verbunden ist, das nicht in der Organisationsrichtlinie dataform.restrictGitRemotes auf der Zulassungsliste steht, fügen Sie das Remote-Git-Repository zuerst der Liste allowedValues in der Richtlinie hinzu und erstellen Sie dann das Git-Repository. Weitere Informationen finden Sie unter Remote-Repositories einschränken.

So erstellen Sie ein Git-Repository:

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

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Dateien, um den Dateibrowser zu öffnen.

    Wenn der linke Bereich nicht angezeigt wird, klicken Sie auf Linken Bereich maximieren, um ihn zu öffnen.

  3. Klicken Sie neben dem Stammknoten des Nutzers auf Aktionen ansehen > Erstellen > Git-Repository.

  4. Geben Sie die URL für Ihr Remote-Git-Repository ein.

  5. BigQuery Studio erkennt, ob ein vorhandener Developer Connect-Kontoverbinder verfügbar ist. Sie haben folgende Möglichkeiten:

    • Wenn ein Konto-Connector gefunden wird, wird der Anzeigename für das Git-Repository vorausgefüllt. Sie können diese Werte bearbeiten.
    • Wenn kein Konto-Connector vorhanden ist, klicken Sie auf Konto-Connector erstellen, um einen neuen Konto-Connector zu erstellen.
    • Wenn Sie keinen Developer Connect-Kontoverbinder verwenden möchten, klicken Sie auf Anderen Verbindungstyp verwenden, um eine Verbindung über HTTPS oder SSH herzustellen.
  6. Optional: Wenn Sie ein Shallow Clone-Repository mit begrenztem Commit-Verlauf erstellen möchten, klicken Sie auf Erweiterte Optionen und setzen Sie ein Häkchen bei Shallow Clone.

    1. Geben Sie im Feld Tiefe die Anzahl der Commits ein, die im eingeschränkten Commit-Verlauf abgerufen werden sollen.
  7. Klicken Sie auf Verbinden.

Datei bearbeiten

Wenn Sie eine Datei bearbeiten möchten, klicken Sie auf einen Dateiknoten, z. B. ein SQL-Skript oder ein Notebook, um die Datei in einem neuen Editor-Tab zu öffnen.

Alle Änderungen werden automatisch gespeichert.

Dateien verwalten

Sie können Standardverwaltungsaufgaben über das Aktionsmenü ausführen, das mit jedem Element verknüpft ist. Klicken Sie neben einem Verzeichnis oder einer Datei auf Aktionen öffnen, um auf diese Optionen zuzugreifen.

Auf Verzeichnisebene können Sie folgende Aufgaben ausführen:

  • Im Repository erstellen: Erstellen Sie neue Code-Assets, einschließlich SQL-Abfragen, Notebooks, Daten-Canvases, Datenvorbereitungen, Dateien oder Unterverzeichnisse.
  • In Repository hochladen: Importieren Sie vorhandene Dateien von Ihrem lokalen Computer in das ausgewählte Verzeichnis.
  • Umbenennen: Ändern Sie den Namen des Verzeichnisses.
  • Verschieben: Verschieben Sie das Verzeichnis. Sie können ein Verzeichnis nur an einen anderen Speicherort innerhalb desselben Git-Repositorys verschieben. Weitere Informationen finden Sie unter Dateien und Verzeichnisse verschieben oder kopieren.
  • Löschen: Das Verzeichnis und alle zugehörigen Inhalte werden endgültig aus Ihrem lokalen Arbeitsbereich entfernt.

Auf Dateiebene können Sie die folgenden Aufgaben ausführen:

  • Öffnen oder Öffnen in: Datei im Standardeditor oder in einer bestimmten Anwendung ansehen, z. B. in einer bestimmten Notebook-Umgebung.
  • Umbenennen: Ändern Sie den Dateinamen.
  • Kopieren: Erstellen Sie ein Duplikat der Datei. Sie können Dateien nur in Verzeichnisse innerhalb desselben Git-Repositorys kopieren.
  • Verschieben: Verschieben Sie die Datei in ein anderes Verzeichnis innerhalb desselben Git-Repositorys. Weitere Informationen finden Sie unter Dateien und Verzeichnisse verschieben oder kopieren.
  • Herunterladen: Speichern Sie eine Kopie der Datei auf Ihrem lokalen Computer.
  • Löschen: Die Datei wird aus dem Arbeitsbereich entfernt.

Dateien und Verzeichnisse verschieben oder kopieren

Sie können Dateien und Verzeichnisse verschieben oder kopieren, sie müssen jedoch im selben Git-Repository bleiben.

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

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Dateien, um den Dateibrowser zu öffnen.

  3. Suchen Sie die Datei oder das Verzeichnis, die bzw. das Sie verschieben oder kopieren möchten.

  4. Klicken Sie auf Aktionen öffnen > Verschieben oder Kopieren.

  5. Wählen Sie im angezeigten Dialogfeld das Zielverzeichnis im selben Git-Repository aus.

  6. Klicken Sie auf Verschieben oder auf Kopieren.

Commit durchführen und Änderungen per Push-Befehl übertragen

So synchronisieren Sie Ihre lokalen Änderungen mit Ihrem Remote-Repository:

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

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Repository.

  3. Optional: Bewegen Sie den Mauszeiger auf eine geänderte Datei und klicken Sie auf Diff ansehen, um einen zeilenweisen Vergleich zwischen Ihrer lokalen Version und der zuletzt festgeschriebenen Version zu sehen.

  4. Geben Sie im Feld Commit-Nachricht eine Beschreibung Ihrer Änderungen ein.

  5. Klicken Sie auf Commit. Ihre Änderungen werden im Git-Verlauf Ihres lokalen Zweigs gespeichert.

  6. Klicken Sie auf An Remote-Zweig übertragen. Ihre Änderungen werden mit dem Remote-Repository synchronisiert.

Neuen Zweig auschecken

Sie können lokale Zweige verwalten und einen neuen lokalen Zweig auf Grundlage eines vorhandenen lokalen oder Remote-Tracking-Zweigs erstellen.

Auf dem Tab Repository im Abschnitt Branches sehen Sie Ihre ausgecheckten lokalen Branches. Das Label CURRENT gibt den aktiven Zweig an und das Label DEFAULT den Standardzweig des Repositorys.

So checken Sie einen neuen Zweig aus:

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

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Repository.

  3. Maximieren Sie den Bereich Zweige.

  4. Klicken Sie neben einem Zweig auf Aktionen öffnen und dann auf Neuen Zweig auschecken.

  5. Wählen Sie im Menü Quellzweig den Zweig aus, auf dem der neue Zweig basieren soll, z. B. origin/main.

  6. Geben Sie im Feld Zweigname einen Namen für den neuen Zweig ein.

  7. Klicke auf Bezahlen. BigQuery Studio checkt zuerst den Quellzweig aus. Wenn der angegebene Zweigname auf einen neuen Zweig hinweist, wird er auf Grundlage dieser Quelle erstellt. Der neue Zweig wird zum aktiven Zweig und der Inhalt Ihres Git-Repositorys wird automatisch aktualisiert, um den Status des ausgecheckten Zweigs widerzuspiegeln.

Commit-Verlauf ansehen

Sie können sich den Commit-Verlauf für Ihren aktiven Zweig ansehen. Wenn Ihr Repository als shallow Clone erstellt wurde, wird im Bereich Commit-Verlauf des Zweigs ein Informationsbanner angezeigt, das darauf hinweist, dass das Repository einen begrenzten Commit-Verlauf hat. Sie können Ihren lokalen Verlauf erweitern, indem Sie weitere Commits abrufen.

So rufen Sie den Commit-Verlauf auf:

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

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf Repository.

  3. Klicken Sie neben dem primären Aktionsbutton für die Versionsverwaltung auf den Drop-down-Pfeil  und dann auf Commit-Verlauf ansehen.

    Der Bereich Commit-Verlauf des Zweigs wird geöffnet und zeigt den Commit-Verlauf für den aktiven Zweig an.

  4. Optional: Wenn Sie zusätzliche Commits für ein Repository mit einem Shallow Clone abrufen möchten, klicken Sie im Bereich Commit-Verlauf des Zweigs auf Abrufen.

    1. Geben Sie im Dialogfeld Abrufen (Shallow Clone) im Feld Zusätzliche Commits zum Abrufen die Anzahl der zusätzlichen Commits ein, die aus dem Repository-Verlauf abgerufen werden sollen.

      Wenn Sie 0 eingeben, werden keine zusätzlichen historischen Commits abgerufen, aber BigQuery Studio führt einen Standardabruf durch, um Remote-Referenzen und Metadaten zu synchronisieren.

    2. Klicken Sie auf Abrufen.

      Sie können den Abrufvorgang nach Bedarf wiederholen, bis alle Commits abgerufen wurden.

Auf Notebook-Dateien in einem Git-Repository-Mount zugreifen

Wenn Sie über ein BigQuery Studio-Git-Repository auf ein Notebook zugreifen, können Sie das Host-Git-Repository in der Laufzeit Ihres Notebooks bereitstellen. Eine Bereitstellung ist eine Verbindung, die Ihr Remote-Git-Repository so erscheinen lässt, als wäre es ein lokales Repository in der Laufzeit Ihres Notebooks. So kann Ihr Notebook direkt auf andere Dateien und Abfrageskripts im selben Repository zugreifen, sie lesen und in sie schreiben.

Git-Repository bereitstellen

Führen Sie den folgenden Python-Code in Ihrem Notebook aus, um das Git-Repository bereitzustellen:

from google_dataform_fuse_widget import FuseWidget
FuseWidget()

Wenn das Notebook mit der Bereitstellung verbunden ist, treten die folgenden Änderungen auf:

  • Das aktuelle Arbeitsverzeichnis der Notebook-Sitzung wird aktualisiert, um den relativen Pfad im Git-Repository widerzuspiegeln. So wird sichergestellt, dass der pfadbasierte Dateizugriff automatisch funktioniert.
  • Der Pfad des Git-Repositorys in der Laufzeit des Notebooks wird dem Python-Systempfad hinzugefügt. So können Sie Standard-Python-Importanweisungen verwenden, um Abfrageskripts und Dateien aus Ihrem Git-Repository direkt in Ihr Notebook zu laden.

Bereitstellung und Verbindung verwalten

Verwenden Sie die folgenden Steuerelemente, um Ihren Arbeitsbereich zu verwalten:

  • Arbeitsbereich bereitstellen: Startet den Bereitstellungsprozess für das Git-Repository. Die Bereitstellung ist eine freigegebene Ressource. Wenn also mehrere Notebooks in derselben Colab-Laufzeit dasselbe Git-Repository verwenden, verwenden sie dieselbe Bereitstellung.
  • Arbeitsbereich-Bereitstellung aufheben: Beendet den Bereitstellungsprozess für das Git-Repository. Wenn Sie die Bereitstellung des Arbeitsbereichs aufheben, ist die Bereitstellung für alle Notebooks in dieser Colab-Laufzeit, die sie verwendet haben, nicht mehr verfügbar.
  • Arbeitsbereich verbinden: Startet die Verbindung zu einer aktiven Bereitstellung für die aktuelle Notebook-Sitzung. Durch das Herstellen einer Verbindung werden das Arbeitsverzeichnis und der Systempfad des Notebooks aktualisiert, sodass das Git-Repository enthalten ist. So können Sie auf Dateien zugreifen und sie importieren.
  • Arbeitsbereich trennen: Beendet die Mount-Verbindung für die aktuelle Notebook-Sitzung und setzt sie auf den Standardstatus zurück. Das Trennen der Verbindung hat keine Auswirkungen auf den Status der Bereitstellungsverbindung für andere aktive Notebook-Sitzungen. Wenn Sie die Verbindung Ihrer Sitzung beenden möchten, empfehlen wir, die Schaltfläche Arbeitsbereich trennen zu verwenden.
  • Reparieren: Stellt eine Bereitstellung oder Verbindung wieder her, wenn sie unbrauchbar wird.

Nachdem Sie die Bereitstellung initialisiert haben, finden Sie in der Statusleiste den Echtzeitstatus und den aktiven Pfad der Bereitstellung. Die möglichen Systemzustände sind Verbunden, Bereitgestellt, Beendet und Fehlerhaft.

Nächste Schritte