Créer des dépôts

Ce document explique comment utiliser des dépôts dans BigQuery, y compris les tâches suivantes:

  • Créer des dépôts
  • Supprimer des dépôts
  • Partager des dépôts
  • (Facultatif) Connecter un dépôt BigQuery à un dépôt tiers

Avant de commencer

  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

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser des dépôts et des espaces de travail, demandez à votre administrateur de vous accorder les rôles IAM suivants sur les dépôts et les espaces de travail:

  • Créer et gérer des dépôts partagés : Propriétaire du code (roles/dataform.codeOwner)
  • Créer et supprimer des espaces de travail dans des dépôts partagés : Éditeur de code (roles/dataform.codeEditor)
  • Créez, modifiez et gérez les versions de fichiers dans des espaces de travail de dépôts partagés : Éditeur de code (roles/dataform.codeEditor)
  • Afficher les espaces de travail et leurs fichiers dans des dépôts partagés : Lecteur de code (roles/dataform.codeViewer)
  • Créez et gérez des dépôts privés, y compris toutes les actions avec les espaces de travail et les fichiers du dépôt privé : Créateur de code (roles/dataform.codeCreator)

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

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

Les comptes principaux disposant du rôle Éditeur de code dans un dépôt peuvent modifier tous les espaces de travail du dépôt.

Les dépôts privés que vous créez restent visibles pour les principaux auxquels sont attribués les rôles Administrateur BigQuery ou Administrateur BigQuery Studio au niveau du projet. Ces principaux peuvent partager votre dépôt privé avec d'autres utilisateurs.

Créer un dépôt

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

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

    Accéder à BigQuery

  2. Dans le volet Explorer, cliquez sur le dossier Dépôts.

  3. Dans l'éditeur, cliquez sur Ajouter un dépôt.

  4. Dans le volet Create repository (Créer un dépôt), dans le champ Repository ID (ID du dépôt), saisissez un ID unique.

    Les ID ne peuvent contenir que des chiffres, des lettres, des traits d'union et des traits de soulignement.

  5. Dans la liste déroulante Région, sélectionnez une région BigQuery pour stocker le dépôt et son contenu. Sélectionnez la région BigQuery la plus proche de votre position.

    Pour obtenir la liste des régions BigQuery disponibles, consultez la section Emplacements BigQuery Studio. La région du dépôt ne doit pas nécessairement correspondre à l'emplacement de vos ensembles de données BigQuery.

  6. Cliquez sur Créer.

Se connecter à un dépôt tiers

Cette section explique comment connecter un dépôt BigQuery à un dépôt distant. Une fois les dépôts connectés, vous pouvez effectuer des actions Git sur les fichiers des espaces de travail contenus dans le dépôt. Par exemple, en extrayant les mises à jour du dépôt distant et en transférant les modifications vers le dépôt distant.

Nous vous recommandons de créer un dépôt BigQuery dédié pour chaque dépôt distant auquel vous vous connectez. Donnez au dépôt BigQuery un nom semblable à celui du dépôt distant pour clarifier la mise en correspondance.

Vous pouvez connecter un dépôt distant via HTTPS ou SSH. Le tableau suivant répertorie les fournisseurs Git compatibles et les méthodes de connexion disponibles pour leurs dépôts:

Fournisseur Git Mode de connexion
Services Azure DevOps SSH
Bitbucket SSH
GitHub SSH ou HTTPS
GitLab SSH ou HTTPS

Connecter un dépôt distant via SSH

Pour connecter un dépôt distant via SSH, vous devez générer une clé SSH et un secret Secret Manager. La clé SSH se compose d'une clé publique SSH et d'une clé privée SSH. Vous devez partager la clé SSH publique avec votre fournisseur Git et créer un secret Secret Manager avec la clé SSH privée. Partagez ensuite le secret avec votre compte de service BigQuery par défaut.

BigQuery utilise le secret avec la clé privée SSH pour se connecter à votre fournisseur Git afin d'enregistrer les modifications au nom des utilisateurs. BigQuery effectue ces commits à l'aide de l'adresse e-mail Google Cloud de l'utilisateur afin que vous puissiez savoir qui a effectué chaque commit.

Pour connecter un dépôt distant à un dépôt BigQuery via SSH, procédez comme suit:

  1. Dans votre fournisseur Git, procédez comme suit:

    Services Azure DevOps

    1. Dans Azure DevOps Services, créez une clé privée SSH.
    2. Importez la clé SSH publique dans votre dépôt Azure DevOps Services.

    Bitbucket

    1. Dans Bitbucket, créez une clé privée SSH.
    2. Importez la clé SSH publique dans votre dépôt Bitbucket.

    GitHub

    1. Dans GitHub, recherchez les clés SSH existantes.
    2. Si vous ne possédez pas de clé SSH ou si vous souhaitez utiliser une nouvelle clé, créez une clé SSH privée.
    3. Importez la clé SSH publique GitHub dans votre dépôt GitHub.

    GitLab

    1. Dans GitLab, créez une clé privée SSH.
    2. Importez la clé SSH publique GitLab dans votre dépôt GitLab.
  2. Dans Secret Manager, créez un secret et collez votre clé privée SSH en tant que valeur secrète. Votre clé SSH privée doit être stockée dans un fichier semblable à ~/.ssh/id_ed25519. Attribuez un nom au secret afin de pouvoir le retrouver plus tard.

  3. Accordez l'accès au secret à votre compte de service Dataform par défaut.

    Votre compte de service Dataform par défaut se présente sous la forme suivante:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  4. Attribuez le rôle roles/secretmanager.secretAccessor au compte de service.

  5. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  6. Dans le volet Explorer, développez le dossier Dépôts.

  7. Sélectionnez le dépôt BigQuery que vous souhaitez connecter au dépôt distant.

  8. Dans l'éditeur, sélectionnez l'onglet Configuration.

  9. Cliquez sur Se connecter avec Git.

  10. Dans le volet Se connecter au dépôt distant, sélectionnez le bouton radio SSH.

  11. Dans le champ URL du dépôt Git distant, saisissez l'URL du dépôt Git distant, qui se termine par .git.

    L'URL du dépôt Git distant doit être au format suivant:

    • URL absolue: ssh://git@{host_name}[:{port}]/{repository_path}, port est facultatif.
    • URL semblable à SCP: git@{host_name}:{repository_path}.
  12. Dans le champ Nom de la branche distante par défaut, saisissez le nom de la branche principale du dépôt Git distant.

  13. Dans le menu déroulant Secret, sélectionnez le secret que vous avez créé et qui contient la clé privée SSH.

  14. Dans le champ Valeur de la clé d'hôte publique SSH, saisissez la clé d'hôte publique de votre fournisseur Git.

    Services Azure DevOps

    La valeur de la clé d'hôte publique SSH doit être au format d'un fichier known_hosts. La valeur doit contenir un algorithme et une clé publique encodée au format base64, mais sans le nom d'hôte ni l'adresse IP, au format suivant:

    ALGORITHM BASE64_KEY_VALUE
    

    Pour récupérer la clé d'hôte publique Azure DevOps Services, exécutez la commande ssh-keyscan -t rsa ssh.dev.azure.com dans le terminal.

    Bitbucket

    La valeur de la clé d'hôte publique SSH doit être au format d'un fichier known_hosts. La valeur doit contenir un algorithme et une clé publique encodée au format base64, mais sans le nom d'hôte ni l'adresse IP, au format suivant:

    ALGORITHM BASE64_KEY_VALUE
    

    Pour récupérer la clé d'hôte publique Bitbucket, consultez la section Configurer SSH.

    GitHub

    La valeur de la clé d'hôte publique SSH doit être au format d'un fichier known_hosts. La valeur doit contenir un algorithme et une clé publique encodée au format base64, mais sans le nom d'hôte ni l'adresse IP, au format suivant:

    ALGORITHM BASE64_KEY_VALUE
    

    Pour récupérer la clé d'hôte publique GitHub, consultez la page Empreintes de la clé SSH de GitHub.

    GitLab

    La valeur de la clé d'hôte publique SSH doit être au format d'un fichier known_hosts. La valeur doit contenir un algorithme et une clé publique encodée au format base64, mais sans le nom d'hôte ni l'adresse IP, au format suivant:

    ALGORITHM BASE64_KEY_VALUE
    

    Pour récupérer la clé d'hôte publique GitLab, consultez les entrées known_hosts SSH.

  15. Cliquez sur Se connecter.

Connecter un dépôt distant via HTTPS

Pour connecter un dépôt distant via HTTPS, vous devez créer un secret Secret Manager avec un jeton d'accès personnel et le partager avec votre compte de service BigQuery par défaut.

BigQuery utilise ensuite le jeton d'accès pour se connecter à votre fournisseur Git afin d'enregistrer les modifications au nom des utilisateurs. BigQuery effectue ces commits à l'aide de l'adresse e-mail Google Cloud de l'utilisateur afin que vous puissiez savoir qui a effectué chaque commit.

Pour connecter un dépôt distant à un dépôt BigQuery via HTTPS, procédez comme suit:

  1. Dans votre fournisseur Git, procédez comme suit:

    GitHub

    1. Dans GitHub, créez un jeton d'accès personnel précis ou un jeton d'accès personnel classique.

      • Pour obtenir un jeton d'accès personnel GitHub précis, procédez comme suit:
      1. Sélectionnez l'accès au dépôt uniquement pour les dépôts sélectionnés, puis sélectionnez le dépôt auquel vous souhaitez vous connecter.

      2. Accordez un accès en lecture et en écriture au contenu du dépôt.

      3. Définissez un délai d'expiration du jeton adapté à vos besoins.

      • Pour un jeton d'accès personnel GitHub classique, procédez comme suit:
      1. Accordez à BigQuery l'autorisation repo.

      2. Définissez une durée d'expiration du jeton adaptée à vos besoins.

    2. Si votre organisation utilise l'authentification unique (SSO) SAML, autorisez le jeton.

    GitLab

    1. Dans GitLab, créez un jeton d'accès personnel GitLab.

    2. Nommez le jeton dataform.

    3. Attribuez à BigQuery les autorisations api, read_repository et write_repository.

    4. Définissez un délai d'expiration du jeton adapté à vos besoins.

  2. Dans Secret Manager, créez un secret contenant le jeton d'accès personnel de votre dépôt distant.

  3. Accordez l'accès au secret à votre compte de service Dataform par défaut.

    Votre compte de service Dataform par défaut se présente sous la forme suivante:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  4. Attribuez le rôle roles/secretmanager.secretAccessor au compte de service.

  5. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  6. Dans le volet Explorer, développez le dossier Dépôts.

  7. Sélectionnez le dépôt BigQuery que vous souhaitez connecter au dépôt distant.

  8. Dans l'éditeur, sélectionnez l'onglet Configuration.

  9. Cliquez sur Se connecter avec Git.

  10. Dans le volet Se connecter à un dépôt distant, sélectionnez le bouton radio HTTPS.

  11. Dans le champ URL du dépôt Git distant, saisissez l'URL du dépôt Git distant, qui se termine par .git.

    L'URL du dépôt Git distant ne doit pas contenir de noms d'utilisateur ni de mots de passe.

  12. Dans le champ Nom de la branche distante par défaut, saisissez le nom de la branche principale du dépôt Git distant.

  13. Dans le menu déroulant Secret, sélectionnez le secret que vous avez créé et qui contient le jeton d'accès personnel.

  14. Cliquez sur Se connecter.

Modifier la connexion au dépôt distant

Pour modifier une connexion entre un dépôt BigQuery et un dépôt Git distant, procédez comme suit:

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

    Accéder à BigQuery

  2. Dans le volet Explorer, développez le dossier Dépôts.

  3. Sélectionnez le dépôt BigQuery dont vous souhaitez modifier la connexion.

  4. Dans l'éditeur, sélectionnez l'onglet Configuration.

  5. Sur la page du dépôt, cliquez sur Modifier la connexion Git.

  6. Modifiez les paramètres de connexion.

  7. Cliquez sur Mettre à jour.

Partager un dépôt

Pour partager un dépôt, procédez comme suit:

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

    Accéder à BigQuery

  2. Dans le volet Explorer, cliquez sur le dossier Dépôts.

  3. Dans le volet Dépôts Git, sélectionnez le dépôt que vous souhaitez partager.

  4. Cliquez sur l'option Actions, puis sur Partager.

  5. Dans le volet Autorisations de partage, cliquez sur Ajouter un utilisateur/groupe.

  6. Dans le volet Ajouter un utilisateur/groupe, dans le champ Nouveaux principaux, saisissez un ou plusieurs noms d'utilisateur ou de groupe, séparés par une virgule.

  7. Dans le champ Rôle, choisissez le rôle à attribuer aux nouveaux comptes principaux.

  8. Cliquez sur Enregistrer.

Supprimer un dépôt

Pour supprimer un dépôt et tout son contenu, procédez comme suit:

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

    Accéder à BigQuery

  2. Dans le volet Explorer, cliquez sur le dossier Dépôts.

  3. Dans le volet Dépôts Git, sélectionnez le dépôt que vous souhaitez supprimer.

  4. Cliquez sur l'option Actions, puis sur Supprimer.

  5. Cliquez sur Supprimer.

Étape suivante