制限とサポートされていない機能

注意

この機能は AWS およびMicrosoft Azure商用リージョン のアカウントで利用できます。 AWS PrivateLink はサポートされていません。

このトピックでは、 Streamlit in Snowflake 上での制限について説明します。また、サポートされないStreamlitの機能も一覧表示されています。

Streamlit in Snowflake を使用する場合のアカウント制限

Streamlit in Snowflake には、以下のアカウント制限があります。

  • Snowflakeアカウントは、Amazon Web Services(AWS)またはMicrosoft Azureのリージョンに配置する必要があります。

  • 以下のリージョンのアカウントは現在サポートされていません。

    • Google Cloud Platform(GCP)

    • Virtual Private Snowflake(VPS)

    • FedRAMP をサポートする US 政府リージョン

  • AWS PrivateLink の使用はサポートされていません。

  • アカウント名と組織名の合計は41文字未満である必要があります。

  • アカウント名は組織内で一意である必要があります。

Streamlit in Snowflake を使用する場合の追加制限

以下のセクションでは、 Streamlit in Snowflake を使用する場合の追加制限について説明します。

Streamlitアプリのデータ制限

Streamlit in Snowflake と Snowflake Native App で実行中のStreamlitアプリは、1回のクエリから取得できるデータ量に 32MB の制限があります。32MB を超えるクエリは以下のエラーをスローします。

MessageSizeError: Data Size exceeds message limit

この制限を回避するには、 32MB より小さい単位でデータを取得するようにStreamlitアプリを設計します。

Streamlit in Snowflake エディターはサーバー側の暗号化を使うステージをサポートしていません。

Streamlit in Snowflake エディターでは サーバー側の暗号化を使用する名前付きステージ上のファイルから STREAMLIT オブジェクト を作成することをサポートしていません。この場合、 Snowsight はエラーを返します。

Streamlit in Snowflake で st.map および st.pydeck_chart を使用する場合の制限

st.map または st.pydeck_chart Streamlitコマンドを使用する場合、Mapboxはマップコンテンツのレンダリング時にマップタイルを提供します。Mapboxはサードパーティのアプリケーションであり、Snowflakeの サードパーティ規約 が適用されます。

複数マルチページのStreamlitアプリ

複数ページのStreamlitアプリは、以下の点を考慮してサポートされています。

  • 複数ページの Streamlit アプリは SQL コマンドでのみ作成できます。 SQL を使用したStreamlitアプリの作成 をご参照ください。

  • 個別ページの URLs はサポートされていません。

  • /pages ディレクトリにアップロードされたファイルは、指定されたステージの ROOT_LOCATION 内に表示されます。

一部のSnowflakeコンテキスト関数は、空のフィールドまたは NONE を返します。

CURRENT_ (CURRENT_*) で始まるSnowflakeの コンテキスト関数 は、 Streamlit in Snowflake で使用されると、空のフィールドまたは NONE を返します。

カスタムコンポーネントはサポートされていません。

カスタムコンポーネントはサポートされていません。

統合バージョン制御または CI/CD システムはサポートされていません。

Streamlitアプリはバージョン管理システムと統合されていません。アプリ履歴やコード変更は永続的であり、ロールバックすることはできません。

GitHub、 GitLab、その他のバージョン管理ベンダーとの統合はありません。

アプリの閲覧者はアプリの編集を閲覧可能

開発者が編集中にStreamlitアプリを実行すると、変更がライブになり、アプリの閲覧者に直ちに利用可能になります。

サポートされていないStreamlit機能

以下のStreamlit機能は、 Streamlit in Snowflake ではサポートされていません。

Streamlit in Snowflake のトラブルシューティング

次のシナリオは、 Streamlit in Snowflake を操作する際に発生する可能性のある問題のトラブルシューティングに役立ちます。

Streamlitアプリをロードできない

Streamlit in Snowflake で実行中の各Streamlitアプリは、固有のサブドメインを使用します。

ネットワークで *.snowflake.app が許可リストにあり、Snowflakeに接続できることを確認します。このドメインが許可リストにあると、アプリは何の制限もなくSnowflakeサーバーと通信できます。

Streamlit in Snowflake が WebSockets を使用するネットワーク構成で WebSockets がブロックされていないことを確認する必要があります。

エラー

Could not reload streamlit files.
Error: 092806 (P0002): The specified Streamlit was not found.

原因

Snowflake WebSocket 接続がアプリケーションに関連付けられたエンドポイントに到達できません。

解決策

組織のファイアウォール構成の許可リストに *.snowflake.app を追加します。

外部 API にアクセスできない

外部 API にアクセスするには、外部アクセス統合を指定する UDF を作成し、Streamlitアプリ内でその UDF を呼び出す必要があります。詳細については、 関数またはプロシージャでの外部アクセス統合の使用 をご参照ください。

データを表示することも、データベースを変更することもできない

Streamlitアプリは所有者の権限で実行されるため(つまり、、呼び出し元の権限ではなく、所有者の権限で実行されるため)、自分のデータを表示したり、データベース、ウェアハウス、ロールを変更したりすることはできない場合があります。Streamlitアプリでは、呼び出し元が現在使用しているデータベースとスキーマではなく、 Streamlit in Snowflake アプリが作成されたデータベースとスキーマを使用します。

詳細については、 所有者の権利と Streamlit in Snowflake アプリの理解 をご参照ください。

Streamlitライブラリ機能が動作しない

Streamlit in Snowflake でサポートされているStreamlitライブラリのバージョンと機能を使用していることを確認します。詳細については、 サポートされているStreamlitライブラリのバージョン および サポートされていないStreamlit機能 をご参照ください。

Streamlitアプリのコード記述に関するサポートについては、 Streamlit Community Forum をご参照ください。