Gérer le code avec les dépôts Git BigQuery Studio

Vous pouvez gérer les scripts SQL et les notebooks à l'aide des dépôts Git BigQuery Studio. Cette fonctionnalité intègre le contrôle des versions directement dans l' explorateur de fichiers BigQuery Studio, ce qui vous permet de cloner des dépôts, de gérer des branches et d'effectuer des opérations Git sans quitter la Cloud de Confiance console.

Les dépôts Git BigQuery Studio offrent une expérience plus simplifiée et basée sur des dossiers que les dépôts classiques repositories. Les dépôts Git de BigQuery Studio apparaissent directement dans le volet de gauche, sous le dossier racine de votre utilisateur.

En utilisant les dépôts Git BigQuery Studio, vous pouvez interagir avec vos éléments de code comme avec des fichiers et des répertoires standards, tout en maintenant une connexion à un dépôt Git distant.

Limites

  • Les dépôts Git BigQuery Studio sont limités au contexte du dossier racine de l'utilisateur et sont destinés à un usage privé. Ne partagez pas ces dépôts avec d'autres utilisateurs. Bien que ces dépôts apparaissent dans le dossier racine de votre utilisateur (qui est une représentation virtuelle de vos éléments dans le projet), ils sont techniquement créés au niveau du projet.
  • L'utilisation d'un connecteur de compte Developer Connect avec un proxy Git n'est pas prise en charge.
  • Les opérations du système de fichiers dans l' emplacement de montage consomment le quota Dataform.
  • Le clonage des dépôts comportant un grand nombre de fichiers, des fichiers volumineux, de nombreuses branches ou un historique de commit complexe prend plus de temps. L'opération de clonage peut dépasser le délai d'inactivité de l'opération, ce qui empêche la création du dépôt.
  • La taille des fichiers de notebook stockés dans un montage de dépôt Git BigQuery Studio ne peut pas dépasser 30 Mo. Si vos fichiers dépassent 30 Mo, enregistrez-les dans le stockage local de votre environnement d'exécution Colab en dehors de l'emplacement monté.
  • Lorsque vous apportez des modifications à un dépôt Git en dehors du montage (par exemple, en modifiant ou en renommant des fichiers dans le volet de gauche), il peut s'écouler jusqu'à 60 secondes avant que ces modifications ne soient visibles dans le montage de l'environnement d'exécution de votre notebook. Vous pouvez ajuster cette durée en transmettant le paramètre CACHE_TTL_SECONDS au constructeur :

      FuseWidget(CACHE_TTL_SECONDS=NUMBER)
    

    Remplacez NUMBER par le nombre de secondes pendant lesquelles le cache doit rester valide. La diminution de cette valeur augmente la fréquence de synchronisation et consomme plus rapidement le quota Dataform.

Avant de commencer

Activez l'API Developer Connect dans votre Cloud de Confiance projet.

Activer l'API

Rôles requis

Pour obtenir les autorisations dont vous avez besoin pour gérer le code avec les dépôts Git BigQuery Studio, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur OAuth Developer Connect (roles/developerconnect.oauthUser) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour gérer le code avec les dépôts Git BigQuery Studio. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour gérer le code avec les dépôts Git BigQuery Studio :

  • 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

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un dépôt Git BigQuery Studio

Lorsque vous créez un dépôt Git, tenez compte des exigences suivantes :

  • La connexion d'un dépôt Git distant à un dépôt Git peut échouer si le dépôt distant n'est pas ouvert à l'Internet public, par exemple s'il se trouve derrière un pare-feu. Dans ce cas, ajoutez les plages d'adresses IP de sortie Dataform requises Dataform egress IP address ranges à vos règles de pare-feu pour activer les connexions aux dépôts distants protégés.
  • Pour créer un dépôt Git connecté à un dépôt Git distant qui n'est pas autorisé dans la règle d'administration dataform.restrictGitRemotes, ajoutez d'abord le dépôt Git distant à la liste allowedValues de la règle, puis créez le dépôt Git. Pour en savoir plus, consultez Restreindre les dépôts distants.

Pour créer un dépôt Git, procédez comme suit :

  1. Dans la Cloud de Confiance console, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet de gauche, cliquez sur Fichiers pour ouvrir l'explorateur de fichiers.

    Si le volet de gauche ne s'affiche pas, cliquez sur Développer le volet de gauche pour l'ouvrir.

  3. À côté du nœud racine de votre utilisateur, cliquez sur Afficher les actions > Créer > Dépôt Git.

  4. Saisissez l'URL de votre dépôt Git distant.

  5. BigQuery Studio détecte si un connecteur de compte Developer Connect existant est disponible. Vous avez le choix entre les options suivantes :

    • Si un connecteur de compte est trouvé, le nom à afficher du dépôt Git est prérempli. Vous pouvez modifier ces valeurs.
    • Si aucun connecteur de compte n'existe, cliquez sur Créer un connecteur de compte pour en créer un.
    • Si vous préférez ne pas utiliser de connecteur de compte Developer Connect, cliquez sur Utiliser un autre type de connexion pour vous connecter à l'aide de HTTPS ou de SSH.
  6. Cliquez sur Se connecter.

Modifier un fichier

Pour modifier un fichier, cliquez sur un nœud de fichier (tel qu'un script SQL ou un notebook) pour l'ouvrir dans un nouvel onglet d'éditeur.

Toutes les modifications que vous apportez sont enregistrées automatiquement.

Gérer les fichiers

Vous pouvez effectuer des tâches de gestion standards à l'aide du menu d'actions associé à chaque élément. Pour accéder à ces options, cliquez sur Ouvrir les actions à côté d'un répertoire ou d'un fichier.

Au niveau du répertoire, vous pouvez effectuer les tâches suivantes :

  • Créer dans le dépôt : créez des éléments de code, y compris des requêtes SQL, des notebooks, des tableaux de données, des préparations de données, des fichiers ou des sous-répertoires.
  • Importer dans le dépôt : importez des fichiers existants depuis votre machine locale dans le répertoire sélectionné.
  • Renommer : modifiez le nom du répertoire.
  • Déplacer : déplacez le répertoire. Vous ne pouvez déplacer un répertoire que vers un autre emplacement du même dépôt Git. Pour en savoir plus, consultez Déplacer ou copier des fichiers et des répertoires.
  • Supprimer : supprimez définitivement le répertoire et tout son contenu de votre espace de travail local.

Au niveau du fichier, vous pouvez effectuer les tâches suivantes :

  • Ouvrir ou Ouvrir dans : affichez le fichier dans l'éditeur par défaut ou dans une application spécifique, par exemple un environnement de notebook spécifique.
  • Renommer : modifiez le nom du fichier.
  • Copier : créez un doublon du fichier. Vous ne pouvez copier des fichiers que dans des répertoires du même dépôt Git.
  • Déplacer : déplacez le fichier vers un autre répertoire du même dépôt Git. Pour en savoir plus, consultez Déplacer ou copier des fichiers et des répertoires.
  • Télécharger : enregistrez une copie du fichier sur votre machine locale.
  • Supprimer : supprimez le fichier de votre espace de travail.

Déplacer ou copier des fichiers et des répertoires

Vous pouvez déplacer ou copier des fichiers et des répertoires, mais ils doivent rester dans le même dépôt Git.

  1. Dans la Cloud de Confiance console, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet de gauche, cliquez sur Fichiers pour ouvrir l'explorateur de fichiers.

  3. Recherchez le fichier ou le répertoire que vous souhaitez déplacer ou copier.

  4. Cliquez sur Ouvrir les actions > Déplacer ou Copier.

  5. Dans la boîte de dialogue qui s'affiche, sélectionnez le répertoire cible dans le même dépôt Git.

  6. Cliquez sur Déplacer ou Copier.

Validation et déploiement des modifications

Pour synchroniser vos modifications locales avec votre dépôt distant, procédez comme suit :

  1. Dans la Cloud de Confiance console, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet de gauche, cliquez sur Dépôt.

  3. Facultatif : Pointez sur un fichier modifié et cliquez sur Afficher les différences pour afficher une comparaison ligne par ligne entre votre version locale et la dernière version validée.

  4. Dans le champ Message de validation, saisissez une description de vos modifications.

  5. Cliquez sur Commit. Vos modifications sont enregistrées dans l'historique Git de votre branche locale.

  6. Cliquez sur Transférer vers la branche distante. Vos modifications sont synchronisées avec le dépôt distant.

Créer une nouvelle branche

Vous pouvez gérer les branches locales et en créer une nouvelle en fonction d'une branche locale ou d'une branche de suivi distante existante.

Dans l'onglet Dépôt, dans la section Branches, vous pouvez voir vos branches locales extraites. Le libellé ACTUEL indique votre branche active, et le libellé PAR DÉFAUT indique la branche par défaut du dépôt.

Pour créer une nouvelle branche, procédez comme suit :

  1. Dans la Cloud de Confiance console, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans le volet de gauche, cliquez sur Dépôt.

  3. Développez la section Branches.

  4. Cliquez sur Ouvrir les actions à côté d'une branche, puis sur Créer une nouvelle branche.

  5. Dans le menu Branche source , sélectionnez la branche sur laquelle vous souhaitez baser votre nouvelle branche, par exemple origin/main.

  6. Dans le champ Nom de la branche, saisissez un nom pour la nouvelle branche.

  7. Cliquez sur Extraire. BigQuery Studio extrait d'abord la branche source. Si le nom de branche fourni indique une nouvelle branche, celle-ci est ensuite créée en fonction de cette source. La nouvelle branche devient la branche active, et le contenu de votre dépôt Git est automatiquement mis à jour pour refléter l'état de la branche extraite.

Accéder aux fichiers de notebook dans un montage de dépôt Git

Lorsque vous accédez à un notebook à partir d'un dépôt Git BigQuery Studio, vous pouvez monter le dépôt Git hôte sur l'environnement d'exécution de votre notebook. Un montage est une connexion qui fait apparaître votre dépôt Git distant comme s'il s'agissait d'un dépôt local sur l'environnement d'exécution de votre notebook. Votre notebook peut ainsi accéder directement à d'autres fichiers et scripts de requête, les lire et y écrire dans le même dépôt.

Monter le dépôt Git

Pour monter le dépôt Git, exécutez le code Python suivant dans votre notebook :

from google_dataform_fuse_widget import FuseWidget
FuseWidget()

Lorsque le notebook est connecté au montage, les modifications suivantes se produisent :

  • Le répertoire de travail actuel de la session du notebook est mis à jour pour refléter son chemin relatif dans le dépôt Git. Cela garantit que l'accès aux fichiers basé sur le chemin d'accès fonctionne automatiquement.
  • Le chemin d'accès du dépôt Git sur l'environnement d'exécution du notebook est ajouté au chemin d'accès du système Python, ce qui vous permet d'utiliser des instructions d'importation Python standards pour charger des scripts de requête et des fichiers de votre dépôt Git directement dans votre notebook.

Gérer le montage et la connexion

Utilisez les commandes suivantes pour gérer votre espace de travail :

  • Monter l'espace de travail : démarre le processus de montage du dépôt Git. Le montage est une ressource partagée. Par conséquent, si plusieurs notebooks du même environnement d'exécution Colab utilisent le même dépôt Git, ils utilisent le même montage.
  • Démonter l'espace de travail : arrête le processus de montage du dépôt Git. Le démontage de l'espace de travail rend le montage indisponible pour tous les notebooks de cet environnement d'exécution Colab qui l'utilisaient.
  • Connecter l'espace de travail : démarre la connexion à un montage actif pour la session de notebook actuelle. La connexion met à jour le répertoire de travail et le chemin d'accès du système du notebook pour inclure le dépôt Git, ce qui vous permet d'accéder aux fichiers et de les importer.
  • Déconnecter l'espace de travail : met fin à la connexion de montage pour la session de notebook actuelle et la rétablit à l'état par défaut. La déconnexion n'affecte pas l'état de la connexion de montage pour les autres sessions de notebook actives. Pour mettre fin à la connexion de votre session, nous vous recommandons d'utiliser le bouton Déconnecter l'espace de travail.
  • Réparer : restaure un montage ou une connexion à un état sain s'il devient inutilisable.

Une fois le montage initialisé, consultez la barre État pour connaître l'état en temps réel et le chemin d'accès actif du montage. Les états possibles sont Connecté, Monté, Arrêté et Non sain.

Étape suivante