Streamlit in Snowflake: Streamlit in Snowflake アプリでGitの統合と複数ファイルの編集が可能に(保留中)¶
Streamlit in Snowflake アプリは次のように動作します。
- 変更前:
Streamlit in Snowflake アプリのGit統合とマルチファイル編集は、 Snowsight ではサポートされていません。
- この変更後:
新しい Streamlit in Snowflake アプリでは、Git統合とマルチファイル編集がサポートされ、以下のエリアでの変更点が含まれます。
-
Streamlit in Snowflake アプリとGitリポジトリの接続をサポートします。
Gitリポジトリから Streamlit in Snowflake アプリの作成をサポートします。
Snowsight 内での複数ファイルの編集をサポートします。
注釈
ROOT_LOCATION を使用する既存の Streamlit in Snowflake アプリは従来通り動作しますが、Git統合と複数ファイルの編集はサポートされていません。
-
Snowsight¶
Gitリポジトリのファイルから Streamlit in Snowflake アプリを作成します。¶
GitリポジトリのファイルからStreamlitアプリを作成するには、次のようにします。
Snowsight にサインインします。
Projects » Streamlit を選択します。
+ Streamlit の横でドロップダウンメニューを開き、 Create from repository を選択します。
File location in repository の場合、Streamlitアプリファイルを含むリポジトリとブランチを選択し、次に特定の
.py
ファイルを選択します。SnowflakeとGitリポジトリの接続の詳細については、 Gitを使用するためのSnowflakeの設定 をご参照ください。App location では、Streamlitアプリを格納するデータベースとスキーマを選択します。これらはアプリ作成後に変更することはできません。
Query warehouse および App warehouse については、ウェアハウスを選択してください。
Create を選択して、Gitリポジトリの
.py
ファイルからStreamlitアプリを作成します。
Streamlit in Snowflake アプリとGitリポジトリの接続¶
既存のStreamlitアプリをGitリポジトリに接続するには、次のようにします。
Snowsight にサインインします。
Projects » Streamlit を選択し、Streamlitアプリを開くか作成します。
Files タブのデータベースオブジェクトエクスプローラーの横で、 Connect Git Repository を選択します。
File location in repository の場合、Streamlitアプリと同期するリポジトリとブランチを選択します。
Select Folder を選択します。
アプリをコミットしてGitリポジトリにプッシュするよう促されたら、 Push to Git を選択します。
Snowsight 内での複数ファイルの編集¶
Snowsight 内で Streamlit in Snowflake アプリの複数のファイルを編集するには:
Snowsight にサインインします。
Projects » Streamlit を選択し、Streamlitアプリを開くか作成します。
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> [ , ... ] ) ]
必須パラメーター¶
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;
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;
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
パラメーター¶
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