Limitations and unsupported features¶
Attention
This feature is available to accounts in AWS commercial regions. AWS PrivateLink is not supported.
This topic describes the limitations on Streamlit in Snowflake. It also lists Streamlit features that are unsupported.
Account limitations when using Streamlit in Snowflake¶
Streamlit in Snowflake has the following account limitations:
Your Snowflake account must be located in an Amazon Web Services (AWS) region.
Accounts in the following regions are not currently supported:
Google Cloud Platform (GCP).
Microsoft Azure.
Virtual Private Snowflake (VPS).
US government regions that support FedRAMP.
Using AWS PrivateLink is not supported.
The combined length of your account name and organization name must be less than 41 characters.
Your account name must be unique within your organization.
Additional limitations when using Streamlit in Snowflake¶
The following sections describe additional limitations when you are using Streamlit in Snowflake.
Data limits on Streamlit apps¶
Streamlit apps running in Streamlit in Snowflake and in a Snowflake Native App have a 32MB limit on the amount of data that can be retrieved from a single query. Queries that exceed 32MB throw the following error:
MessageSizeError: Data Size exceeds message limit
To avoid this limit, design your Streamlit apps to retrieve data in increments smaller than 32MB.
The Streamlit in Snowflake editor does not support stages with server-side encryption¶
The Streamlit in Snowflake editor does not support creating a STREAMLIT object from files on a named stage that uses server-side encryption. In this situation, Snowsight returns an error.
Limitation when using st.map
and st.pydeck_chart
in Streamlit in Snowflake¶
When using the st.map or st.pydeck_chart Streamlit commands, Mapbox provides the map tiles when rendering map content. Mapbox is a third-party application and is subject to Snowflake’s Third Party Terms.
Multi-page Streamlit apps¶
Multi-page Streamlit apps are supported with the following considerations:
Multi-page Streamlit apps can only be created by using SQL commands. See Creating a Streamlit app by using SQL.
Individual page URLs are not supported.
Files uploaded to the
/pages
directory are visible within the ROOT_LOCATION of the named stage.
Some Snowflake context functions return empty fields or NONE¶
Snowflake context functions that begin with CURRENT_ (CURRENT_*) return either empty fields or NONE when used in Streamlit in Snowflake.
Custom components are not supported¶
Custom components are not supported.
Integrated version control or CI/CD systems are not supported¶
Streamlit apps are not integrated with version control systems. App history or code changes are permanent and cannot be rolled back.
There is no integration with GitHub, GitLab, or other version control vendors.
App edits are viewable by app viewers¶
When a developer runs a Streamlit app while editing, the changes become live and are immediately available to app viewers.
Unsupported Streamlit features¶
The following Streamlit features are not supported in Streamlit in Snowflake:
-
The
page_title
andpage_icon
properties of the st.set_page_config command are not supported. Custom Components, including:
The following experimental features:
Unsafe HTML using
unsafe_allow_html=True
is not supported in st.markdown.Network access via the internet.
Anchor links.
Troubleshooting Streamlit in Snowflake¶
If the app displays an unknown error, try the solutions described in the following sections.
Firewall allowlisting¶
Each Streamlit app running in Streamlit in Snowflake uses a unique subdomain.
Ensure that *.snowflake.app is allowlisted in your network and able to connect to Snowflake. When this domain is allowlisted, your apps can communicate with Snowflake servers without any restrictions.
Note
Streamlit in Snowflake uses Websockets. You must ensure that WebSockets are not blocked in your network configuration.