Git-Operationen in Snowflake

Unter diesem Thema wird beschrieben, wie Sie gängige Repository-Operationen mithilfe von SQL-Befehlen und Snowsight ausführen.

Sie können mit Git auch die folgenden Programme verwenden, von denen jedes seine eigene Methode zur Durchführung von Git-Operationen enthält.

Git-Repository in Snowflake-Konto integrieren

Informationen zum Einrichten einer Integration mit einem Git-Repository finden Sie unter Einrichten von Snowflake für Verwendung von Git.

Aktualisieren Sie einen Git-Repository-Klon aus dem Repository

Sie können den Git-Repository-Klon in Snowflake mit einem vollständigen Klon aktualisieren, der alle Zweige, Tags und Commits aus dem externen Repository abruft. Dabei entfernen Sie auch Zweige und Commits, die früher abgerufen worden waren, aber nicht mehr im externen Repository vorhanden sind.

Um die in diesem Abschnitt beschriebenen Operationen auszuführen, benötigen Sie den Snowflake-Zugriff, der unter Zugriffssteuerung für ALTER GIT REPOSITORY beschrieben ist.

Sie können Ihren Git-Repository-Klon entweder mit Snowsight oder SQL aktualisieren.

Wenn Sie Ihren Git-Repository-Klon aktualisieren möchten, können Sie mit dem Befehl ALTER GIT REPOSITORY den Inhalt des externen Git-Repositorys in den Git-Repository-Klon in Snowflake abrufen.

Der Code im folgenden Beispiel aktualisiert den Git-Repository-Klon mit dem Inhalt des Repositorys:

ALTER GIT REPOSITORY snowflake_extensions FETCH;
Copy

Liste der Zweige oder Tags des Repositorys anzeigen

Sie können eine Liste der Zweige und Tags anzeigen, die im Snowflake Git-Repository-Klon verfügbar sind, der aus dem externen Repository abgerufen wurde.

Um die in diesem Abschnitt beschriebenen Operationen auszuführen, benötigen Sie den Snowflake-Zugriff, der unter folgenden Themen beschrieben ist.

Sie können eine Liste der Zweige oder Tags entweder mit Snowsight oder SQL anzeigen.

Sie können Zweige und Tags mit den Befehlen SHOW GIT BRANCHES und SHOW GIT TAGS anzeigen.

Das folgende Beispiel generiert eine Ausgabe, die die Zweige des Git-Repositorys snowflake_extensions auflistet:

SHOW GIT BRANCHES IN snowflake_extensions;
Copy

Der obige Befehl generiert eine Ausgabe ähnlich der folgenden:

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

Liste der Repository-Dateien anzeigen

Sie können eine Liste der Dateien in einem Zweig, Tag oder Commit entweder mit Snowsight oder SQL anzeigen.

Sie können eine Liste der Dateien im Repository anzeigen, indem Sie den Befehl LIST in den folgenden Formen verwenden, wobei Sie den Git-Repository-Klon wie einen Stagingbereich angeben (Sie können LIST zu LS abkürzen):

  • Liste nach Zweigname:

    LS @repository_name/branches/branch_name;
    
    Copy
  • Liste nach Tag-Name:

    LS @repository_name/tags/tag_name;
    
    Copy
  • Liste nach Commit-Hash:

    LS @repository_name/commits/commit_hash;
    
    Copy

Das folgende Beispiel generiert eine Ausgabe, die die Dateien im Hauptzweig des Git-Repositorys snowflake_extensions auflistet:

LS @snowflake_extensions/branches/main;
Copy

Der obige Befehl generiert eine Ausgabe ähnlich der folgenden:

-------------------------------------------------------------------------------------------------------------------------------------------------------
| 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 |
-------------------------------------------------------------------------------------------------------------------------------------------------------

Eigenschaften eines Git-Repository-Klons anzeigen

Sie können die mit einem Git-Repository-Klon verbundenen Eigenschaften in Snowflake anzeigen.

Um die in diesem Abschnitt beschriebenen Operationen auszuführen, benötigen Sie den Snowflake-Zugriff, der unter Zugriffssteuerung für DESC GIT REPOSITORY beschrieben ist.

Sie können die Eigenschaften von Git-Repository-Klonen entweder mit Snowsight oder SQL anzeigen.

Sie können die Eigenschaften von Git-Repository-Klonen mit den SQL-Befehlen SHOW GIT REPOSITORIES und DESCRIBE GIT REPOSITORY anzeigen.

Zu den Eigenschaftsinformationen gehören die Git-Ursprungs-URL, der Name der API-Integration und die Anmeldeinformationen (angegeben als Geheimnis), die für die Verbindung mit dem externen Repository verwendet werden, und so weiter.

DESCRIBE GIT REPOSITORY snowflake_extensions;
Copy

Der obige Befehl generiert eine Ausgabe ähnlich der folgenden:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 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            |         |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Code aus einem Repository ausführen

Sie können den Code ausführen, der in einer Datei aus dem Repository enthalten ist.

Um die in diesem Abschnitt beschriebenen Operationen auszuführen, benötigen Sie den Snowflake-Zugriff, der unter Zugriffssteuerung für EXECUTE IMMEDIATE FROM beschrieben ist.

Sie können Code ausführen, indem Sie entweder Snowsight oder SQL verwenden.

Sie können EXECUTE IMMEDIATE FROM verwenden, um Code in einem Git-Repository-Klon auszuführen.

Der Code im folgenden Beispiel führt den Code in create-database.sql aus dem Git-Repository-Klon snowflake_extensions aus:

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

Repository-basierten Code in ein Arbeitsblatt kopieren

Sie können schnell Code aus einer Repository-Datei in ein Arbeitsblatt kopieren. Sie können den kopierten Code bearbeiten und ausführen oder ihn als schreibgeschützte Vorlage für andere Benutzer verwenden.

Sie können den Inhalt der folgenden Dateitypen kopieren: .sql und .py.

Um Änderungen in Ihrem Repository zu speichern, müssen Sie den bearbeiteten Code aus dem Arbeitsblatt in eine Datei (z. B. die Datei, die derjenigen entspricht, aus der Sie kopiert haben) in Ihr lokales Git-Repository kopieren und die Änderungen von dort aus committen.

Snowsight:

Sie können Snowsight verwenden, um Inhalte aus einer Datei Ihres Repositorys in ein Arbeitsblatt zu kopieren.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Data » Databases aus.

  3. Wählen Sie im Objekt-Explorer die Datenbank und das Schema aus, die den Git-Repository-Klon enthalten, den Sie ansehen möchten.

  4. Öffnen Sie innerhalb des Schemas Git Repositories.

  5. Wählen Sie unter Git Repositories das Repository aus, um die zugehörige Detailseite anzuzeigen.

  6. Wählen Sie auf der Detailseite des Repositorys auf der Registerkarte Files Explorer die Schaltfläche Branch aus.

  7. Wählen Sie im Dropdown-Menü Branch eine der folgenden Optionen aus:

    • Um eine Liste der aus dem Repository geklonten Zweige anzuzeigen, wählen Sie Branches aus.

    • Um eine Liste der aus dem Repository geklonten Tags anzuzeigen, wählen Sie Tags aus.

  8. Wählen Sie den Zweig oder das Tag aus, in dem die Datei enthalten ist, deren Code Sie kopieren möchten.

  9. Wählen Sie unterhalb des Repository-Namens den Ordner aus, der die Datei enthält, die Sie ausführen möchten.

  10. Suchen Sie die Datei, deren Code Sie ausführen möchten, und wählen Sie Weitere Optionen » Copy into worksheet aus.

    Snowflake kopiert den Code aus der von Ihnen ausgewählten Datei in ein neues Arbeitsblatt.