Git-Operationen in Snowflake

Unter diesem Thema wird beschrieben, wie Sie gängige Repository-Operationen ausführen.

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.

Repository-Stagingbereich des Repositorys aktualisieren

Sie können den Repository-Stagingbereich 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 den Repository-Stagingbereich entweder mit Snowsight oder SQL aktualisieren.

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

Der Code im folgenden Beispiel aktualisiert den Repository-Stagingbereich 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 in dem Repository-Stagingbereich verfügbar sind, das einen Klon Ihres Git-Repositorys darstellt.

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 wie folgt verwenden (Sie können LIST mit LS abkürzen):

  • Liste nach Zweigname:

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

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

    LS @repository_stage_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 des Repository-Stagingbereichs anzeigen

Sie können die mit einem Repository-Stagingbereich verbundenen Eigenschaften 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 eines Repository-Stagingbereichs anzeigen, indem Sie entweder Snowsight oder SQL verwenden.

Sie können die Eigenschaften des Repository-Stagingbereichs 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 Repository-Stagingbereich auszuführen.

Der Code im folgenden Beispiel führt Code in create-database.sql aus dem Repository-Stagingbereich 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-Stagingbereich enthalten, das Sie anzeigen 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.