Streamlit in Snowflake: Streamlit in Snowflake アプリでGitの統合と複数ファイルの編集が可能に(保留中)

注意

この動作変更は2025_01バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

Streamlit in Snowflake アプリは次のように動作します。

変更前:

Streamlit in Snowflake アプリのGit統合とマルチファイル編集は、 Snowsight ではサポートされていません。

この変更後:

新しい Streamlit in Snowflake アプリでは、Git統合とマルチファイル編集がサポートされ、以下のエリアでの変更点が含まれます。

注釈

ROOT_LOCATION を使用する既存の Streamlit in Snowflake アプリは従来通り動作しますが、Git統合と複数ファイルの編集はサポートされていません。

Snowsight

Gitリポジトリのファイルから Streamlit in Snowflake アプリを作成します。

GitリポジトリのファイルからStreamlitアプリを作成するには、次のようにします。

  1. Snowsight にサインインします。

  2. Projects » Streamlit を選択します。

  3. + Streamlit の横でドロップダウンメニューを開き、 Create from repository を選択します。

  4. File location in repository の場合、Streamlitアプリファイルを含むリポジトリとブランチを選択し、次に特定の .py ファイルを選択します。SnowflakeとGitリポジトリの接続の詳細については、 Gitを使用するためのSnowflakeの設定 をご参照ください。

  5. App location では、Streamlitアプリを格納するデータベースとスキーマを選択します。これらはアプリ作成後に変更することはできません。

  6. Query warehouse および App warehouse については、ウェアハウスを選択してください。

  7. Create を選択して、Gitリポジトリの .py ファイルからStreamlitアプリを作成します。

Streamlit in Snowflake アプリとGitリポジトリの接続

既存のStreamlitアプリをGitリポジトリに接続するには、次のようにします。

  1. Snowsight にサインインします。

  2. Projects » Streamlit を選択し、Streamlitアプリを開くか作成します。

  3. Files タブのデータベースオブジェクトエクスプローラーの横で、 Connect Git Repository を選択します。

  4. File location in repository の場合、Streamlitアプリと同期するリポジトリとブランチを選択します。

  5. Select Folder を選択します。

  6. アプリをコミットしてGitリポジトリにプッシュするよう促されたら、 Push to Git を選択します。

Snowsight 内での複数ファイルの編集

Snowsight 内で Streamlit in Snowflake アプリの複数のファイルを編集するには:

  1. Snowsight にサインインします。

  2. Projects » Streamlit を選択し、Streamlitアプリを開くか作成します。

  3. Files タブで、編集するファイルを選択します。

CREATE STREAMLIT および ALTER STREAMLIT コマンドへの変更

この動作変更バンドルが有効になると、 CREATE STREAMLIT および ALTER STREAMLIT コマンドに以下の変更が導入されます。

CREATE STREAMLIT

Streamlitアプリのコードは、別のステージオブジェクトを必要としません。Streamlitオブジェクトはアプリのコードを保管します。FROM 句を使用すると、Streamlitアプリにコードをコピーする既存の場所を指定することができます。

構文

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
必須パラメーター
name

Streamlitアプリの名前。

path_to_main_file_in_root_directory

Streamlitアプリのファイル名を指定します。このファイル名は、 ROOT_LOCATION の値からの相対パスです。

warehouse_name

Streamlitアプリが発行した SQL クエリを実行するウェアハウスを指定します。

オプションのパラメーター

version_alias_name

ユーザー指定のバージョンエイリアス名。

version_comment

このバージョンに対してユーザーが提供したコメント。

source_location

ソースファイルのコピー元の場所。

create_comment

Streamlitオブジェクトのコメントを指定します。デフォルトでは値はありません。

default_version_name_or_alias

デフォルトのバージョン名が使用されます。

app_title

Snowsightで表示するStreamlitアプリのタイトルを指定します。

stage_path_and_file_name_to_read

インポートするファイルの場所(ステージ)、パス、および名前。

integration_name

Streamlitアプリケーションコードが外部ネットワークにアクセスするために必要な外部アクセス統合の名前。

ステージからStreamlitアプリを作成するには、次の例のように CREATE STREAMLIT コマンドを実行します。

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

GitリポジトリからStreamlitアプリを作成するには、次の例のように CREATE STREAMLIT コマンドを実行します。

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

この動作変更バンドルが有効になると、次を含むように ALTER STREAMLIT コマンドが更新されます。

構文

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

パラメーター

name

Streamlitアプリの名前。

version_alias_name

ユーザー指定のバージョンエイリアス名。

source_location

ソースファイルのコピー元の場所。OWNERSHIP 権限が必要です。

ALTER STREAMLIT name PUSH

コミットされた最新の変更をGitリポジトリにプッシュします。 git_branch_uri が指定されていない場合は、ベースバージョンに保存されているブランチを使用します。

ベースバージョンがGitブランチに基づいていない場合は、エラーをスローします。OWNERSHIP 権限が必要です。

git-branch-uri

コミットした変更をプッシュするターゲットブランチ。

git_author_name

使用するgit authorの名前。

git_author_email

git authorの名として使用する有効なメールアドレス。

git_push_comment

git pushに含めるユーザー指定のコメント。

ALTER STREAMLIT name ABORT

既存のバージョンを削除し、そのファイルを削除します。バージョンが指定されていない場合、デフォルトでlive_versionが削除されます。OWNERSHIP 権限が必要です。

ALTER STREAMLIT name PULL

ソースからの最新の変更をStreamlitのライブバージョンにプルします。OWNERSHIP 権限が必要です。

DESCRIBE STREAMLIT 出力の新しい列

この動作変更バンドルが有効になっている場合は、 DESCRIBE STREAMLIT コマンドの出力に以下の新しい列が含まれます。

列名

説明

default_version

将来的に使用されます。

default_version_name

将来的に使用されます。

default_version_alias

将来的に使用されます。

default_version_location_uri

将来的に使用されます。

default_version_source_location_uri

将来的に使用されます。

default_version_git_commit_hash

将来的に使用されます。

live_version

文字列。このアプリのライブバージョンを指定します。

live_version_name

文字列。このアプリのライブバージョンの名前。

live_version_alias

文字列。このアプリのライブバージョンのエイリアス。

live_version_location_uri

文字列。ライブバージョンのファイルが保存されている URI。

live_version_source_location_uri

文字列。live_versionのコピー元への URI を指定します。このStreamlitがクローンされなかった場合はNULL。

live_version_git_commit_hash

文字列。live_versionが指すgit commitの16進数ハッシュ。Gitリポジトリが接続されていない場合はNULL。

参照: 1888