Streamlit in Snowflake: Aktivieren der Git-Integration und die Bearbeitung mehrerer Dateien für Streamlit in Snowflake-Apps (Ausstehend)

Achtung

Diese Verhaltensänderung ist in Bundle 2025_01 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Streamlit in Snowflake-Apps verhalten sich wie folgt:

Vor dieser Änderung:

Die Git-Integration und die Bearbeitung mehrerer Dateien für Streamlit in Snowflake-Apps werden in Snowsight nicht unterstützt.

Nach dieser Änderung:

Die Git-Integration und die Bearbeitung mehrerer Dateien werden für neue Streamlit in Snowflake-Apps unterstützt und beinhalten Änderungen in den folgenden Bereichen:

Bemerkung

Die bestehenden Streamlit in Snowflake-Apps, die ROOT_LOCATION verwenden, funktionieren wie bisher, aber die Git-Integration und die Bearbeitung mehrerer Dateien werden nicht unterstützt.

Snowsight

Erstellen einer Streamlit in Snowflake-App aus einer Datei in einem Git-Repository

Um eine Streamlit-App aus einer Datei in einem Git-Repository zu erstellen, gehen Sie wie folgt vor:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Projects » Streamlit aus.

  3. Öffnen Sie neben + Streamlit das Dropdown-Menü, und wählen Sie Create from repository aus.

  4. Wählen Sie unter File location in repository das Repository und den Zweig in dem Repository aus, welche die Streamlit-App-Datei enthalten, und wählen dann die spezifische .py-Datei aus. Einzelheiten zur Verbindung von Snowflake mit Ihrem Git-Repository finden Sie unter Einrichten von Snowflake für Verwendung von Git.

  5. Wählen Sie unter App location eine Datenbank und ein Schema aus, welche die Streamlit-App enthalten sollen. Diese können nicht mehr geändert werden, nachdem Sie die App erstellt haben.

  6. Wählen Sie unter Query warehouse und App warehouse ein Warehouse aus.

  7. Wählen Sie Create, um eine Streamlit-App aus der Datei .py in Ihrem Git-Repository zu erstellen.

Verbinden einer Streamlit in Snowflake-App mit einem Git Repository

Um eine bestehende Streamlit-App mit einem Git-Repository zu verbinden, gehen Sie wie folgt vor:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Projects » Streamlit und öffnen oder erstellen Sie eine Streamlit-App.

  3. Wählen Sie auf der Registerkarte Files neben dem Datenbank-Objekt-Explorer die Option Connect Git Repository aus.

  4. Wählen Sie unter File location in repository das Repository und den Zweig im Repository aus, mit dem Sie die Streamlit-App synchronisieren möchten.

  5. Wählen Sie Select Folder aus.

  6. Wenn Sie aufgefordert werden, Ihre App zu übertragen und in das Git-Repository zu verschieben, wählen Sie Push to Git aus.

Bearbeiten mehrerer Dateien innerhalb von Snowsight

So bearbeiten Sie mehrere Dateien Ihrer Streamlit in Snowflake-App innerhalb von Snowsight:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Projects » Streamlit und öffnen oder erstellen Sie eine Streamlit-App.

  3. Wählen Sie auf der Registerkarte Files eine Datei aus, die Sie bearbeiten möchten.

Änderungen an den Befehlen CREATE STREAMLIT und ALTER STREAMLIT

Wenn dieses Verhaltensänderungs-Bundle aktiviert ist, werden die folgenden Änderungen an den Befehlen CREATE STREAMLIT und ALTER STREAMLIT eingeführt.

CREATE STREAMLIT

Der Code für Streamlit-Apps benötigt kein separates Stagingobjekt mehr; das Streamlit-Objekt speichert den App-Code. Mit der FROM-Klausel können Sie den vorhandenen Speicherort angeben, von dem aus der Code in die Streamlit-App kopiert werden soll.

Syntax

CREATE [ OR REPLACE ] STREAMLIT [ IF NOT EXISTS ] <name>
  [ { VERSION <version_alias_name> |
      VERSION (COMMENT = <version_comment>) |
      VERSION <version_alias_name> (COMMENT = <version_comment>) } ]
  [ FROM <source_location>]
  MAIN_FILE = '<path_to_main_file_in_root_directory>'
  QUERY_WAREHOUSE = <warehouse_name>
  [ COMMENT = <create_comment> ]
  [ DEFAULT_VERSION = <default_version_name_or_alias> ]
  [ TITLE = '<app_title>' ]
  [ IMPORTS = ( '<stage_path_and_file_name_to_read>' [ , ... ] ) ]
  [ EXTERNAL_ACCESS_INTEGRATIONS = ( <integration_name> [ , ... ] ) ]
Copy
Erforderliche Parameter
name

Name der Streamlit-App.

path_to_main_file_in_root_directory

Gibt den Dateinamen der Streamlit-App an. Dieser Dateiname ist relativ zu dem Wert von ROOT_LOCATION.

warehouse_name

Gibt das Warehouse an, in dem SQL-Abfragen der Streamlit-App ausgeführt werden.

Optionale Parameter

version_alias_name

Ein vom Benutzer festgelegter Alias-Name für die Version.

version_comment

Ein vom Benutzer bereitgestellter Kommentar für diese Version.

source_location

Ein Ort, von dem die Quelldateien kopiert werden.

create_comment

Gibt einen Kommentar für das Streamlit-Objekt an. In der Standardeinstellung ist kein Wert vorhanden.

default_version_name_or_alias

Der Name der verwendeten Standardversion.

app_title

Gibt einen Titel für die Streamlit-App an, der in Snowsight angezeigt werden soll.

stage_path_and_file_name_to_read

Der Speicherort (Stagingbereich), der Pfad und der Name der zu importierenden Datei(en).

integration_name

Die Namen der Integrationen für den externen Zugriff, die benötigt werden, damit der Code der Streamlit-App auf externe Netzwerke zugreifen kann.

Beispiele

Um eine Streamlit-App aus einem Stagingbereich zu erstellen, führen Sie den Befehl CREATE STREAMLIT aus, wie im folgenden Beispiel gezeigt:

CREATE STREAMLIT app
  FROM @streamlit_db.streamlit_schema.streamlit_stage;
  MAIN_FILE = 'streamlit_app.py'
  QUERY_WAREHOUSE = my_warehouse;
Copy

Um eine Streamlit-App aus einem Git-Repository zu erstellen, führen Sie den Befehl CREATE STREAMLIT aus, wie im folgenden Beispiel gezeigt:

CREATE STREAMLIT app
  FROM @streamlit_db.streamlit_schema.streamlit_repo/branches/streamlit_branch/;
  MAIN_FILE = 'streamlit_app.py'
  QUERY_WAREHOUSE = my_warehouse;
Copy

ALTER STREAMLIT

Wenn dieses Verhaltensänderungs-Bundle aktiviert ist, wird der Befehl ALTER STREAMLIT aktualisiert und enthält nun Folgendes:

Syntax

ALTER STREAMLIT <name> ADD VERSION [ [ IF NOT EXISTS] <version_alias_name> ]
FROM <source_location>
[ COMMENT = <add_version_comment> ]

ALTER STREAMLIT <name> ADD VERSION <version_name>
FROM { <snowgit_tag_uri> | <snowgit_commit_uri> }
[ COMMENT = <git_pull_comment> ]

ALTER STREAMLIT <name> ADD LIVE VERSION [ [IF NOT EXISTS] <version_alias_name> ]
[ FROM LAST ]
[ COMMENT = <add_version_comment> ]

ALTER STREAMLIT <name> VERSION <existing_version_name_or_alias>
SET ALIAS = <new_version_name_alias>

ALTER STREAMLIT <name> COMMIT [ VERSION <live_version_alias> ] [COMMENT = <version_comment>]

ALTER STREAMLIT <name> SET DEFAULT_VERSION = <version_name> | <version_name_alias>

ALTER STREAMLIT <name> PUSH [TO <git_branch_uri>] [ { GIT_CREDENTIALS = <snowflake_secret> | USERNAME = <git_username> password = <git_password> } NAME = <git_author_name> EMAIL = <git_author_email> ] [ COMMENT = <git_push_comment>]

ALTER STREAMLIT <name> ABORT [ VERSION  <live_version_alias> ]

ALTER STREAMLIT <name> PULL
Copy

Parameter

name

Name der Streamlit-App.

version_alias_name

Ein vom Benutzer festgelegter Alias-Name für die Version.

source_location

Ein Ort, von dem die Quelldateien kopiert werden. Erfordert die OWNERSHIP-Berechtigung.

ALTER STREAMLIT name PUSH

Überträgt die neuesten Änderungen in das Git-Repository. Dabei wird der in der Basisversion gespeicherte Zweig verwendet, wenn git_branch_uri nicht angegeben ist.

Wenn die Basisversion nicht auf einem Git-Zweig basiert, wird ein Fehler ausgelöst. Erfordert OWNERSHIP-Berechtigung.

git-branch-uri

Zielzweig, in den die Änderungen übertragen werden sollen.

git_author_name

Zu verwendender Name des Git-Autors.

git_author_email

Eine gültige E-Mail-Adresse, die als Name des Git-Autors verwendet werden soll.

git_push_comment

Ein vom Benutzer angegebener Kommentar, der in den Git-Push aufgenommen wird.

ALTER STREAMLIT name ABORT

Entfernt eine vorhandene Version und löscht ihre Dateien. Wenn keine Version angegeben ist, wird standardmäßig live_version gelöscht. Erfordert OWNERSHIP-Berechtigung.

ALTER STREAMLIT name PULL

Zieht die letzten Änderungen aus dem Quellcode in die Live-Version dieses Streamlits. Erfordert OWNERSHIP-Berechtigung.

Neue Spalten in der Ausgabe DESCRIBE STREAMLIT

Wenn dieses Verhaltensänderungs-Bundle aktiviert ist, enthält die Ausgabe des Befehls DESCRIBE STREAMLIT die folgenden neuen Spalten:

Spaltenname

Beschreibung

default_version

Für die zukünftige Verwendung.

default_version_name

Für die zukünftige Verwendung.

default_version_alias

Für die zukünftige Verwendung.

default_version_location_uri

Für die zukünftige Verwendung.

default_version_source_location_uri

Für die zukünftige Verwendung.

default_version_git_commit_hash

Für die zukünftige Verwendung.

live_version

Zeichenfolge. Gibt an, welche Version die Live-Version für diese App ist.

live_version_name

Zeichenfolge. Der Name der Live-Version für diese App.

live_version_alias

Zeichenfolge. Der Alias der Live-Version für diese App.

live_version_location_uri

Zeichenfolge. Die URI, wo die Dateien der Live-Version gespeichert sind.

live_version_source_location_uri

Zeichenfolge. Gibt die URI an, von der die live_version kopiert wurde. Null, wenn dieses Streamlit nicht geklont wurde.

live_version_git_commit_hash

Zeichenfolge. Hexadezimaler Hash des Git-Commits, auf den die live_version zeigt. Null, wenn ein Git-Repository nicht verbunden ist.

Ref: 1888