Code mit BigQuery Studio-Git-Repositories verwalten
Sie können SQL-Skripts und Notebooks mit BigQuery Studio-Git-Repositories verwalten. Dieses Feature integriert die Versionsverwaltung direkt in den BigQuery Studio-Dateibrowser. So können Sie Repositorys klonen, Zweige verwalten und Git-Vorgänge ausführen, ohne die Google Cloud console zu verlassen.
BigQuery Studio-Git-Repositories bieten im Vergleich zu klassischen Repositorys eine optimierte, ordnerbasierte Erfahrung. BigQuery Studio-Git-Repositories werden direkt im linken Bereich unter dem Stammordner des Nutzers angezeigt.
Mit BigQuery Studio-Git-Repositories können Sie 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 Repositorys nicht für andere Nutzer frei. Obwohl diese Repositorys im Stammordner des Nutzers angezeigt werden, der eine virtuelle Darstellung Ihrer Assets im Projekt ist, werden sie technisch auf Projektebene erstellt.
- Die Verwendung eines Developer Connect-Kontoverbinders mit einem Git-Proxy wird nicht unterstützt.
- Dateisystemvorgänge am Bereitstellungspunkt verbrauchen Dataform-Kontingente.
- Das Klonen von Repositorys mit einer großen Anzahl von Dateien, großen Dateigrößen, vielen Zweigen oder einem tiefen und komplexen Commit-Verlauf dauert länger. Der Klonvorgang kann das Zeitlimit für den Vorgang überschreiten, wodurch verhindert wird, dass das Repository erfolgreich erstellt wird. Um die Klonzeit für Repositorys mit tiefen Commit-Verläufen zu verkürzen, können Sie einen flachen Klon erstellen. Sie können bei Bedarf später weitere Commits abrufen.
- Die Größe von Notebook-Dateien, die in einer BigQuery Studio-Git-Repository-Bereitstellung gespeichert sind, darf 30 MB nicht überschreiten. Wenn Ihre Dateien größer als 30 MB sind, speichern Sie sie außerhalb des Bereitstellungspunkts im lokalen Speicher der Colab-Laufzeit.
Wenn Sie außerhalb der Bereitstellung Änderungen an einem Git-Repository vornehmen, z. B. durch Bearbeiten oder Umbenennen von Dateien im linken Bereich, kann es bis zu 60 Sekunden dauern, bis diese Änderungen in der Bereitstellung in der Laufzeit Ihres Notebooks sichtbar werden. Sie können diese Dauer anpassen, indem Sie den Parameter
CACHE_TTL_SECONDSan den Konstruktor übergeben:FuseWidget(CACHE_TTL_SECONDS=NUMBER)Ersetzen Sie
NUMBERdurch die Anzahl der Sekunden, für die der Cache gültig bleiben soll. Wenn Sie diesen Wert verringern, erhöht sich die Häufigkeit der Synchronisierung und das Dataform-Kontingent wird schneller verbraucht.
Hinweis
Aktivieren Sie die Developer Connect API in Ihrem Google Cloud Projekt.
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, die erforderlich sind:
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.
Sicherheitsüberlegungen für Repositorys
Da Code-Assets in BigQuery von Dataform unterstützt werden, sollten Sie die folgenden Sicherheitsaspekte für Nutzer mit Zugriff auf diese Assets berücksichtigen:
- Die Sichtbarkeit von Code-Assets wird durch Dataform-Berechtigungen auf Projektebene gesteuert. Nutzer mit der Berechtigung
dataform.repositories.list, die in Standard-BigQuery-Rollen wie BigQuery-Jobnutzer, BigQuery Studio-Nutzer und BigQuery-Nutzer enthalten ist, können alle Code-Assets im Bereich Explorer des Google Cloud Projekts sehen, unabhängig davon, ob sie diese Assets erstellt haben oder ob diese Assets für sie freigegeben wurden. Um die Sichtbarkeit einzuschränken, können Sie benutzerdefinierte Rollen erstellen, die diedataform.repositories.listBerechtigung ausschließen. - Auf alle Secrets, die für den Dataform-Dienstagenten freigegeben wurden, können möglicherweise Nutzer zugreifen, die diese Assets bearbeiten können. Um Ihre Anmeldedaten zu schützen, beschränken Sie den Erstellungs- und Bearbeitungszugriff auf vertrauenswürdige Nutzer und begrenzen Sie die Secrets, auf die der Dataform-Dienstagent zugreifen kann. Weitere Informationen finden Sie unter Zugriff auf Secrets während der Paketinstallation.
Weitere Informationen finden Sie unter Sicherheitsüberlegungen für Dataform-Berechtigungen.
BigQuery Studio-Git-Repository erstellen
Beachten Sie beim Erstellen eines Git-Repositorys die folgenden Anforderungen:
- Die Verbindung eines Remote-Git-Repositorys mit einem Git-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. Fügen Sie in diesem Fall die erforderlichen Dataform-Ausgangs-IP-Adressbereiche zu Ihren Firewallregeln hinzu, um Verbindungen zu geschützten Remote-Repositorys 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.restrictGitRemotesauf der Zulassungsliste steht, fügen Sie zuerst das Remote-Git-Repository der ListeallowedValuesin der Richtlinie hinzu und erstellen Sie dann das Git-Repository. Weitere Informationen finden Sie unter Remote-Repositorys einschränken.
So erstellen Sie ein Git-Repository:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
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 den Bereich zu öffnen.
Klicken Sie neben dem Stammknoten des Nutzers auf Aktionen ansehen > Erstellen > Git-Repository.
Geben Sie die URL für Ihr Remote-Git-Repository ein.
BigQuery Studio erkennt, ob ein vorhandener Developer Connect-Kontoverbinder verfügbar ist. Dafür gibt es zwei Möglichkeiten:
- Wenn ein Kontoverbinder gefunden wird, wird der Anzeigename für das Git-Repository automatisch ausgefüllt. Sie können diese Werte bearbeiten.
- Wenn kein Kontoverbinder vorhanden ist, klicken Sie auf Kontoverbinder erstellen , um einen neuen Kontoverbinder zu erstellen.
- Wenn Sie keinen Developer Connect-Konto verbinder verwenden möchten, klicken Sie auf Anderen Verbindungstyp verwenden, um eine Verbindung über HTTPS oder SSH herzustellen.
Optional: Wenn Sie ein flaches Klon-Repository mit eingeschränktem Commit-Verlauf erstellen möchten, klicken Sie auf Erweiterte Optionen und wählen Sie das Kästchen Flacher Klon aus.
- Geben Sie im Feld Tiefe die Anzahl der Commits ein, die im eingeschränkten Commit-Verlauf abgerufen werden sollen.
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 auf 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 dazu neben einem Verzeichnis oder einer Datei auf Aktionen öffnen.
Auf Verzeichnisebene können Sie die folgenden Aufgaben ausführen:
- Im Repository erstellen: Erstellen Sie neue Code-Assets, einschließlich SQL-Abfragen, Notebooks, Daten-Canvas, 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: Entfernen Sie das Verzeichnis und alle zugehörigen Inhalte endgültig aus Ihrem lokalen Arbeitsbereich.
Auf Dateiebene können Sie die folgenden Aufgaben ausführen:
- Öffnen oder Öffnen mit: Zeigen Sie die Datei im Standardeditor oder in einer bestimmten Anwendung an, 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: Entfernen Sie die Datei aus Ihrem Arbeitsbereich.
Dateien und Verzeichnisse verschieben oder kopieren
Sie können Dateien und Verzeichnisse verschieben oder kopieren, sie müssen aber im selben Git-Repository bleiben.
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Dateien um den Dateibrowser zu öffnen.
Suchen Sie die Datei oder das Verzeichnis, die bzw. das Sie verschieben oder kopieren möchten.
Klicken Sie auf Aktionen öffnen > Verschieben oder Kopieren.
Wählen Sie im angezeigten Dialogfeld das Zielverzeichnis innerhalb desselben Git-Repositorys aus.
Klicken Sie auf Verschieben oder Kopieren.
Commit durchführen und Änderungen per Push-Befehl übertragen
So synchronisieren Sie Ihre lokalen Änderungen mit Ihrem Remote-Repository:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Repository.
Optional: Bewegen Sie den Mauszeiger auf eine geänderte Datei und klicken Sie auf Unterschied anzeigen , um einen zeilenweisen Vergleich zwischen Ihrer lokalen Version und der letzten übertragenen Version zu sehen.
Geben Sie im Feld Commit-Nachricht eine Beschreibung Ihrer Änderungen ein.
Klicken Sie auf Commit. Ihre Änderungen werden im Git-Verlauf Ihres lokalen Zweigs gespeichert.
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 basierend auf einem vorhandenen lokalen oder Remote-Tracking-Zweig erstellen.
Auf dem Tab Repository sehen Sie im Bereich Zweige Ihre ausgecheckten lokalen Zweige. Das Label AKTUELL gibt Ihren aktiven Zweig an und das Label STANDARD den Standardzweig des Repositorys.
So checken Sie einen neuen Zweig aus:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Repository.
Maximieren Sie den Bereich Zweige.
Klicken Sie neben einem Zweig auf Aktionen öffnen und dann auf Neuen Zweig auschecken.
Wählen Sie im Menü Quellzweig den Zweig aus, auf dem der neue Zweig basieren soll, z. B.
origin/main.Geben Sie im Feld Zweigname einen Namen für den neuen Zweig ein.
Klicken Sie auf Auschecken. BigQuery Studio checkt zuerst den Quellzweig aus. Wenn der angegebene Zweigname einen neuen Zweig angibt, wird er basierend auf dieser Quelle erstellt. Der neue Zweig wird zum aktiven Zweig und die Inhalte Ihres Git-Repositorys werden automatisch aktualisiert, um den Status des ausgecheckten Zweigs widerzuspiegeln.
Commit-Verlauf ansehen
Sie können den Commit-Verlauf für Ihren aktiven Zweig ansehen. Wenn Ihr Repository als flacher Klon erstellt wurde, wird im Bereich Commit-Verlauf des Zweigs ein Informationsbanner angezeigt, das darauf hinweist, dass das Repository einen eingeschränkten Commit-Verlauf hat. Sie können Ihren lokalen Verlauf erweitern, indem Sie weitere Commits abrufen.
So rufen Sie den Commit-Verlauf auf:
Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
Klicken Sie im linken Bereich auf Repository.
Klicken Sie neben der primären Schaltfläche für die Versionsverwaltung auf das Drop-down-Menü „Pfeil“ und dann auf Commit-Verlauf ansehen.
Der Bereich Commit-Verlauf des Zweigs wird geöffnet und zeigt den Commit-Verlauf für Ihren aktiven Zweig an.
Optional: Wenn Sie zusätzliche Commits für ein flaches Klon-Repository abrufen möchten, klicken Sie im Bereich Commit-Verlauf des Zweigs auf Abrufen.
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
0eingeben, werden keine zusätzlichen historischen Commits abgerufen. BigQuery Studio führt jedoch einen Standardabruf durch, um Remote-Referenzen und Metadaten zu synchronisieren.Klicken Sie auf Abrufen.
Sie können den Abruf nach Bedarf wiederholen, bis alle Commits abgerufen wurden.
Auf Notebook-Dateien in einer Git-Repository-Bereitstellung 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, durch die Ihr Remote-Git-Repository so aussieht, 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, ändert sich Folgendes:
- Das aktuelle Arbeitsverzeichnis der Notebook-Sitzung wird aktualisiert, um den relativen Pfad im Git-Repository widerzuspiegeln. So funktioniert der pfadbasierte Dateizugriff automatisch.
- 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 direkt aus Ihrem Git-Repository in Ihr Notebook zu laden.
Bereitstellung und Verbindung verwalten
Verwenden Sie die folgenden Steuerelemente, um Ihren Arbeitsbereich zu verwalten:
- Arbeitsbereich bereitstellen: Startet den Bereitstellungsvorgang 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.
- Bereitstellung des Arbeitsbereichs aufheben: Beendet den Bereitstellungsvorgang für das Git-Repository. Wenn Sie die Bereitstellung des Arbeitsbereichs aufheben, ist die Bereitstellung für alle Notebooks in dieser Colab-Laufzeit nicht mehr verfügbar.
- Arbeitsbereich verbinden: Startet die Verbindung zu einer aktiven Bereitstellung für die aktuelle Notebook-Sitzung. Durch die Verbindung werden das Arbeitsverzeichnis und der Systempfad des Notebooks aktualisiert, um das Git-Repository einzubeziehen. So können Sie auf Dateien zugreifen und sie importieren.
- Verbindung zum Arbeitsbereich trennen: Beendet die Bereitstellungsverbindung für die aktuelle Notebook-Sitzung und setzt sie auf den Standardzustand zurück. Das Trennen der Verbindung wirkt sich nicht auf den Status der Bereitstellungsverbindung für andere aktive Notebook-Sitzungen aus. Wir empfehlen, die Schaltfläche Verbindung zum Arbeitsbereich trennen zu verwenden, um die Verbindung Ihrer Sitzung zu beenden.
- Reparieren: Stellt eine Bereitstellung oder Verbindung wieder her, wenn sie nicht mehr verwendet werden kann.
Nachdem Sie die Bereitstellung initialisiert haben, finden Sie in der Statusleiste den Echtzeitstatus und den aktiven Pfad der Bereitstellung. Mögliche Status sind Verbunden, Bereitgestellt, Beendet und Fehlerhaft.
Nächste Schritte
- Notebooks erstellen
- Gespeicherte Abfragen erstellen lernen
- Repositorys erstellen und verwalten
- Code-Assets mit Ordnern organisieren