Streamlit in Snowflake のコスト管理¶
このトピックでは、 Streamlit in Snowflake の請求に関する考慮事項について説明します。
Streamlit in Snowflake の請求に関する考慮事項¶
Streamlit in Snowflake の請求は、アプリのランタイム環境とクエリウェアハウスに基づいています。ランタイム環境はStreamlitアプリでPythonコードを実行します。これは、コンテナかウェアハウスのいずれかです。クエリウェアハウスは、アプリのコード内で任意の SQL クエリを実行します。
クエリウェアハウス¶
アプリのコードが SQL クエリを実行するとき、これらのクエリはアプリのクエリウェアハウスを使用します。Snowflakeは、その AUTO_RESUME および AUTO_SUSPEND 値に従って、クエリウェアハウスを自動的に再開および中断します。
コンテナランタイム¶
Streamlitアプリがコンテナランタイムを使用している場合、基礎となる Snowpark Container Services コンピューティングプールの使用に対して請求があります。この場合、Streamlitアプリは長時間実行されるサービスです。Streamlitサーバーはコンピューティングプールのノード上で継続的に実行されるので、ビューアーはアプリにすばやくアクセスできます。同時ビューアーは、単一のStreamlitサーバーに接続します。アプリが3日間使用されないと、Streamlitサーバープロセスは終了し、Snowflakeはその AUTO_SUSPEND 値に従ってコンピューティングプールを一時停止します。コンピューティングプールの請求の詳細については、 コンピューティングコストについて をご参照ください。
ウェアハウスランタイム¶
アプリがウェアハウスランタイムを使用している場合、Snowflakeは誰かがアプリにアクセスするとアプリのコードウェアハウスを再開します。ビューアーがアプリに接続するたびに、コードウェアハウス内で新しいStreamlitサーバープロセスが開始され、WebSocket 接続が確立されます。同時ビューアーは、それぞれ同じコードウェアハウスで実行されている独自のStreamlitサーバーに接続します。
WebSocket 接続はコードウェアハウスをアクティブに保ち、関連するビューアーの最後のアクティビティから約15分後に失効します。ただし、これはビューアーのブラウザー設定とアクティビティに影響されます。アプリ上でのマウスの移動はアクティビティとしてカウントされ、WebSocket 接続は維持されます。Snowflakeサポートに連絡して、アカウントの WebSocket タイムアウト値を変更できます。
コードウェアハウスは、アクティブになっている時間に対して請求されます。クレジットを節約するには、次のいずれかを実行します。
Snowsight からアプリを手動で一時停止します。
アプリを実行しているすべてのブラウザーのタブを閉じるか、アプリから移動します。これにより、WebSocket 接続が閉じられ、ウェアハウスの自動一時停止が可能になります。
アプリのカスタムスリープタイマーを設定します。これにより、指定された非アクティブの期間の後、ウェアハウスが自動的に一時停止されます。詳細については、 Streamlitアプリのカスタムスリープタイマー をご参照ください。
ウェアハウス選びのガイドラインについては、 Streamlit in Snowflake でリソースを選択するためのガイドライン をご参照ください。