Opérations Git dans Snowflake

Cette rubrique décrit comment effectuer des opérations courantes sur le référentiel.

Intégrer un référentiel Git à votre compte Snowflake

Pour obtenir des informations sur la mise en place d’une intégration avec un référentiel Git, consultez Configuration de Snowflake pour utiliser Git.

Actualiser une zone de préparation à partir du référentiel

Vous pouvez actualiser la zone de préparation avec un clone complet qui récupère toutes les branches, les balises et les validations du référentiel distant. Lorsque vous faites cela, vous enlevez également les branches et les validations qui ont été récupérées précédemment mais qui n’existent plus dans le référentiel distant.

Pour effectuer les opérations décrites dans cette section, vous aurez besoin de l’accès Snowflake décrit dans Contrôle d’accès pour ALTER GIT REPOSITORY.

Vous pouvez actualiser votre zone de préparation de référentiel en utilisant Snowsight ou SQL.

Lorsque vous souhaitez actualiser votre zone de préparation de référentiel, vous pouvez récupérer le contenu du référentiel Git intégré dans la zone de préparation de référentiel à l’aide de la commande ALTER GIT REPOSITORY.

Le code de l’exemple suivant met à jour la zone de préparation du référentiel avec le contenu du référentiel :

ALTER GIT REPOSITORY snowflake_extensions FETCH;
Copy

Vue d’une liste de branches ou de balises du référentiel

Vous pouvez voir la liste des branches et des balises disponibles dans la zone de préparation du référentiel qui représente un clone de votre référentiel Git.

Pour effectuer les opérations décrites dans cette section, vous aurez besoin de l’accès à Snowflake décrit dans les rubriques suivantes :

Vous pouvez voir une liste de branches ou de balises en utilisant Snowsight ou SQL.

Vous pouvez afficher les branches et les balises en utilisant les commandes SHOW GIT BRANCHES et SHOW GIT TAGS.

L’exemple suivant génère une liste des branches du référentiel Git snowflake_extensions :

SHOW GIT BRANCHES IN snowflake_extensions;
Copy

La commande précédente génère une sortie similaire à la suivante :

--------------------------------------------------------------------------------
| name | path           | checkouts | commit_hash                              |
--------------------------------------------------------------------------------
| main | /branches/main |           | 0f81b1487dfc822df9f73ac6b3096b9ea9e42d69 |
--------------------------------------------------------------------------------

Voir une liste des fichiers du référentiel

Vous pouvez voir la liste des fichiers d’une branche, d’une balise ou d’une validation en utilisant Snowsight ou SQL.

Vous pouvez voir une liste des fichiers du référentiel en utilisant la commande LIST sous les formes suivantes (vous pouvez abréger LIST en LS) :

  • Affichage par nom de branche :

    LS @repository_stage_name/branches/branch_name;
    
    Copy
  • Affichage par nom de balise :

    LS @repository_stage_name/tags/tag_name;
    
    Copy
  • Affichage par hash de validation :

    LS @repository_stage_name/commits/commit_hash;
    
    Copy

L’exemple suivant génère une sortie qui affiche les fichiers de la branche principale du référentiel Git snowflake_extensions :

LS @snowflake_extensions/branches/main;
Copy

La commande précédente génère une sortie similaire à la suivante :

-------------------------------------------------------------------------------------------------------------------------------------------------------
| name                                                         | size | md5 | sha1                                     | last_modified                |
-------------------------------------------------------------------------------------------------------------------------------------------------------
| snowflake_extensions/branches/main/.gitignore                | 10   |     | e43b0f988953ae3a84b00331d0ccf5f7d51cb3cf | Wed, 5 Jul 2023 22:42:34 GMT |
-------------------------------------------------------------------------------------------------------------------------------------------------------
| snowflake_extensions/branches/main/python-handlers/filter.py | 169  |     | c717137b18d7b75005849d76d89037fafc7b5223 | Wed, 5 Jul 2023 22:42:34 GMT |
-------------------------------------------------------------------------------------------------------------------------------------------------------

Vue des propriétés de la zone de préparation du référentiel

Vous pouvez voir les propriétés associées à une zone de préparation de référentiel.

Pour effectuer les opérations décrites dans cette section, vous aurez besoin de l’accès Snowflake décrit dans Contrôle d’accès pour DESC GIT REPOSITORY.

Vous pouvez voir les propriétés des zones de préparation de référentiel en utilisant Snowsight ou SQL.

Vous pouvez voir les propriétés des zones de préparation du référentiel en utilisant les commandes SQL SHOW GIT REPOSITORIES et DESCRIBE GIT REPOSITORY.

Les informations sur les propriétés comprennent l’URL Git d’origine, le nom de l’intégration de l’API et ses identifiants de connexion (spécifiés sous la forme d’un secret) utilisées pour se connecter au référentiel distant, etc.

DESCRIBE GIT REPOSITORY snowflake_extensions;
Copy

La commande précédente génère une sortie similaire à la suivante :

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| CREATED_ON                    | NAME                 | DATABASE_NAME | SCHEMA_NAME | ORIGIN                                                 | API_INTEGRATION     | GIT_CREDENTIALS           | OWNER        | OWNER_ROLE_TYPE | COMMENT |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 2023-06-28 08:46:10.886 -0700 | SNOWFLAKE_EXTENSIONS | MY_DB         | MAIN        | https://github.com/my-account/snowflake-extensions.git | GIT_API_INTEGRATION | MY_DB.MAIN.GIT_SECRET     | ACCOUNTADMIN | ROLE            |         |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Exécuter du code à partir d’un référentiel

Vous pouvez exécuter le code contenu dans un fichier du référentiel.

Pour effectuer les opérations décrites dans cette section, vous aurez besoin de l’accès Snowflake décrit dans Contrôle d’accès pour EXECUTE IMMEDIATE FROM.

Vous pouvez exécuter le code en utilisant Snowsight ou SQL.

Vous pouvez utiliser EXECUTE IMMEDIATE FROM pour exécuter du code dans une zone de préparation de référentiel.

Le code de l’exemple suivant exécute le code de create-database.sql à partir de la zone de préparation du référentiel snowflake_extensions :

EXECUTE IMMEDIATE FROM @snowflake_extensions/branches/main/sql/create-database.sql;
Copy

Copier le code du référentiel dans une feuille de calcul

Vous pouvez rapidement copier le code d’un fichier du référentiel dans une feuille de calcul. Vous pouvez modifier et exécuter le code copié ou l’utiliser comme modèle en lecture seule pour d’autres utilisateurs.

Vous pouvez copier le contenu des types de fichiers suivants : .sql et .py.

Pour enregistrer vos modifications dans votre référentiel, vous devez copier le code modifié de la feuille de calcul dans un fichier (tel que le fichier correspondant à celui que vous avez copié) dans votre référentiel Git local et valider les modifications à partir de là.

Snowsight:

Vous pouvez utiliser Snowsight pour copier le contenu d’un fichier de votre référentiel dans une feuille de calcul.

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Data » Databases.

  3. Dans l’explorateur d’objets, sélectionnez la base de données et le schéma qui contiennent la zone de préparation du référentiel Git que vous souhaitez voir.

  4. Dans le schéma, ouvrez Git Repositories.

  5. Dans Git Repositories, sélectionnez un référentiel pour voir sa page de détails.

  6. Dans la page de détails du référentiel, dans l’onglet Files Explorer, sélectionnez le bouton Branch.

  7. Dans le menu déroulant Branch, effectuez l’une des opérations suivantes :

    • Pour voir la liste des branches clonées à partir du référentiel, sélectionnez Branches.

    • Pour voir la liste des balises clonées à partir du référentiel, sélectionnez Tags.

  8. Sélectionnez la branche ou la balise contenant le fichier dont vous souhaitez copier le code.

  9. Sous le nom du référentiel, sélectionnez le dossier contenant le fichier à exécuter.

  10. Localisez le fichier dont vous voulez exécuter le code et sélectionnez Plus d'options » Copy into worksheet.

    Snowflake copie le code du fichier que vous avez sélectionné dans une nouvelle feuille de calcul.