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
etpage_icon
de la commande st.set_page_config ne sont pas prises en charge. Les fonctions expérimentales suivantes :
Liens d’ancrage
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 à partir de n’importe quel domaine externe, y compris les scripts, les styles, les polices et l’intégration d’iframe. 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 ne se charge pas ou ne s’exécute pas 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 en logiciels du code d’application Streamlit in Snowflake selon le 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.
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 fonctionnant dans Streamlit in Snowflake et dans une Snowflake Native App ont une limite de 32MB sur la quantité de données qui peuvent être récupérées à partir d’une seule requête. Les requêtes qui dépassent 32MB provoquent 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 à 32MB.
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.