Opérations Git dans Snowflake¶
Cette rubrique décrit comment effectuer les opérations courantes du référentiel à l’aide des commandes SQL et Snowsight.
Vous pouvez également utiliser les outils suivants avec Git, chacun d’entre eux proposant sa propre façon d’effectuer des opérations Git.
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 un clone de référentiel Git à partir du référentiel¶
Vous pouvez actualiser le clone du référentiel Git dans Snowflake 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 clone de référentiel Git en utilisant Snowsight ou SQL.
Lorsque vous souhaitez actualiser votre clone de référentiel Git, vous pouvez récupérer le contenu du référentiel Git distant dans le clone de référentiel Git dans Snowflake en utilisant la commande ALTER GIT REPOSITORY.
Le code de l’exemple suivant met à jour le clone du référentiel Git avec le contenu du référentiel :
ALTER GIT REPOSITORY snowflake_extensions FETCH;
Vous pouvez utiliser Snowsight pour actualiser le clone du référentiel Git à partir du référentiel distant.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Data » Databases.
Dans l’explorateur d’objets, sélectionnez la base de données et le schéma qui contiennent le clone du référentiel Git que vous souhaitez actualiser.
Dans le schéma, ouvrez Git Repositories.
Dans Git Repositories, sélectionnez le référentiel pour voir la page de détails.
Dans les détails du référentiel, dans l’onglet Files Explorer, sélectionnez le bouton Fetch pour actualiser le clone du référentiel Git.
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 de fichiers dans le référentiel en utilisant la commande LIST sous les formes suivantes, en spécifiant le clone du référentiel Git comme vous le feriez pour une zone de préparation (vous pouvez abréger LIST en LS) :
Affichage par nom de branche :
LS @repository_name/branches/branch_name;
Affichage par nom de balise :
LS @repository_name/tags/tag_name;
Affichage par hash de validation :
LS @repository_name/commits/commit_hash;
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;
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 |
-------------------------------------------------------------------------------------------------------------------------------------------------------
Vous pouvez utiliser Snowsight pour voir une liste des branches et des balises dans votre référentiel Git.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Data » Databases.
Dans l’explorateur d’objets, sélectionnez la base de données et le schéma qui contiennent le clone du référentiel Git que vous souhaitez voir.
Dans le schéma, ouvrez Git Repositories.
Dans Git Repositories, sélectionnez un référentiel pour voir sa page de détails.
Dans la page de détails du référentiel, dans l’onglet Files Explorer, sélectionnez le bouton Branch.
Dans le menu déroulant Branch, sélectionnez l’une des options 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.
Sélectionnez la branche ou la balise dont vous souhaitez afficher les fichiers.
Sous le nom du référentiel, affichez la liste des dossiers et des fichiers correspondant à la sélection que vous avez effectuée.
Afficher les propriétés du clone du référentiel Git¶
Vous pouvez voir les propriétés associées à un clone de référentiel Git dans Snowflake.
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 du clone du référentiel Git en utilisant Snowsight ou SQL.
Vous pouvez voir les propriétés du clone du référentiel Git 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;
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 | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Vous pouvez utiliser Snowsight pour voir les propriétés du référentiel.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Data » Databases.
Dans l’explorateur d’objets, sélectionnez la base de données et le schéma qui contiennent le clone du référentiel Git que vous souhaitez voir.
Dans le schéma, ouvrez Git Repositories.
Dans Git Repositories, sélectionnez un référentiel pour voir sa page de détails.
Dans la page de détails du référentiel, sélectionnez l’onglet Git Repository Details pour voir les informations suivantes qui incluent ce qui suit :
L’origine du référentiel
L”intégration de l’API et les identifiants de connexion (spécifiés sous la forme d’un secret) utilisés par Snowflake pour interagir avec le référentiel distant
Privilèges accordés pour le clone du référentiel Git
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 un clone de référentiel Git.
Le code de l’exemple suivant exécute le code de create-database.sql
à partir du clone du référentiel Git snowflake_extensions
:
EXECUTE IMMEDIATE FROM @snowflake_extensions/branches/main/sql/create-database.sql;
Vous pouvez utiliser Snowsight pour exécuter du code SQL à partir d’un référentiel Git.
Notez que lorsque vous exécutez du code de cette manière, vous ne verrez pas la sortie générée par l’exécution du code.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Data » Databases.
Dans l’explorateur d’objets, sélectionnez la base de données et le schéma qui contiennent le clone du référentiel Git que vous souhaitez voir.
Dans le schéma, ouvrez Git Repositories.
Dans Git Repositories, sélectionnez un référentiel pour voir sa page de détails.
Dans la page de détails du référentiel, dans l’onglet Files Explorer, sélectionnez le bouton Branch.
Dans le menu déroulant Branch, sélectionnez l’une des options suivantes :
Branches pour voir la liste des branches clonées à partir du référentiel.
Tags pour voir la liste des balises clonées à partir du référentiel.
Sélectionnez la branche ou la balise contenant le fichier dont vous voulez exécuter le code.
Sous le nom du référentiel, sélectionnez le dossier contenant le fichier à exécuter.
Localisez le fichier dont vous voulez exécuter le code et sélectionnez
» Execute immediate.
Dans la zone qui s’affiche, examinez le code contenu dans le fichier.
Il s’agit du code que Snowflake exécutera.
Pour exécuter le code affiché, sélectionnez Execute Immediate.
La page de détails affiche une notification indiquant que l’exécution du code a été lancée. Elle indique ensuite si l’exécution a réussi ou échoué.
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.
Connectez-vous à Snowsight.
Dans le menu de navigation, sélectionnez Data » Databases.
Dans l’explorateur d’objets, sélectionnez la base de données et le schéma qui contiennent le clone du référentiel Git que vous souhaitez voir.
Dans le schéma, ouvrez Git Repositories.
Dans Git Repositories, sélectionnez un référentiel pour voir sa page de détails.
Dans la page de détails du référentiel, dans l’onglet Files Explorer, sélectionnez le bouton Branch.
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.
Sélectionnez la branche ou la balise contenant le fichier dont vous souhaitez copier le code.
Sous le nom du référentiel, sélectionnez le dossier contenant le fichier à exécuter.
Localisez le fichier dont vous voulez exécuter le code et sélectionnez
» Copy into worksheet.
Snowflake copie le code du fichier que vous avez sélectionné dans une nouvelle feuille de calcul.