Limites et fonctionnalités non prises en charge¶
Cette rubrique décrit les limites suivantes de Streamlit in Snowflake :
Fonctions Streamlit non prises en charge¶
Les fonctions Streamlit suivantes ne sont pas prises en charge dans Streamlit in Snowflake :
-
Les propriétés
page_title
,page_icon
etmenu_items
de la commandest.set_page_config
ne sont pas prises en charge. Liens d’ancrage
Icônes matérielles en Markdown
Limitations lors du chargement de ressources externes dans Streamlit in Snowflake¶
Toutes les applications Streamlit in Snowflake s’exécutent dans la Politique de sécurité du contenu (CSP) qui restreint les ressources qui peuvent être chargées. Snowflake bloque le chargement de code , y compris les scripts, les styles, les polices et l’intégration d’iframes, à partir de n’importe quel domaine externe. Cependant, le chargement d’un sous-ensemble de ressources à partir de Mapbox est pris en charge.
Lorsque vous utilisez les commandes Streamlit st.map ou st.pydeck_chart, Mapbox fournit les vignettes de la carte lors du rendu du contenu de la carte. Mapbox est une application tierce et est soumise aux Conditions des conditions des offres externes Snowflake.
Le chargement d’images ou de médias à partir de domaines externes est pris en charge dans Streamlit in Snowflake, mais pas dans Snowflake Native App Framework.
Par exemple, le code suivant s’exécute sans erreur Python, mais le script n’est pas chargé ni exécuté dans le navigateur :
# This will not work
import streamlit.components.v1 as components
components.html("""
<script src="http://www.example.com/example.js"></script>
""", height=0)
Le CSP bloque également les appels frontaux qui sont généralement considérés comme dangereux, tels que eval()
.
Note
Les développeurs d’applications sont responsables des contrôles de sécurité et de la chaîne d’approvisionnement du code de l’application Streamlit in Snowflake conformément au modèle de responsabilité partagée de Snowflake.
Limitations Streamlit in Snowflake supplémentaires¶
Streamlit in Snowflake présente les limitations supplémentaires suivantes :
La mise en zone de préparation externe n’est pas prise en charge.
La réplication n’est pas prise en charge.
L’utilisation de fichiers .so n’est pas prise en charge.
Les applications Streamlit ont une limite pour la récupération des données.
st.cache_data et st.cache_resource ne sont pas entièrement pris en charge.
Les applications Streamlit multipages sont prises en charge avec quelques considérations.
Les applications Streamlit ont une limite pour la récupération des données¶
Les applications Streamlit exécutées dans Streamlit in Snowflake et dans Snowflake Native App sont contraints à une limite de taille de 32 MB pour les messages échangés entre le backend et le frontend. Les requêtes qui dépassent 32 MB renvoient l’erreur suivante :
MessageSizeError: Data Size exceeds message limit
Pour éviter cette limite, concevez vos applications Streamlit de manière à récupérer les données par incréments inférieurs à 32 MB.
L’éditeur Streamlit in Snowflake ne prend pas en charge les zones de préparation avec chiffrement côté serveur.¶
L’éditeur Streamlit in Snowflake ne prend pas en charge la création d’un objet STREAMLIT à partir de fichiers sur une zone de préparation nommée qui utilise le chiffrement côté serveur. Dans ce cas, Snowsight renvoie une erreur.
Streamlit in Snowflake ne prend en charge que les zones de préparation internes qui utilisent le chiffrement côté client.
st.cache_data
et st.cache_resource
ne sont pas entièrement pris en charge¶
st.cache_data et st.cache_resource ne sont pas entièrement pris en charge dans Streamlit in Snowflake. La mise en cache ne fonctionne qu’au sein d’une même session. Les valeurs mises en cache ne peuvent pas être reportées sur d’autres sessions ni partagées entre différents utilisateurs d’une appli Streamlit.
Les applications Streamlit multipages sont prises en charge avec quelques considérations¶
Les applications Streamlit multi-pages sont prises en charge avec les considérations suivantes :
Les applications Streamlit multi-pages ne peuvent être créées qu’à l’aide des commandes SQL. Voir Créer et déployer des applications Streamlit à l’aide de SQL.
Les URLs de pages individuelles ne sont pas prises en charge.
Les fichiers chargés dans le répertoire
/pages
sont visibles dans ROOT_LOCATION de la zone de préparation nommée.