Comprendre les différents types d’objets Streamlit¶
Les objets Streamlit dans Snowflake présentent deux différences importantes qui influencent leurs capacités, leurs limites et leur gestion :
Spécification de l’emplacement source : en utilisant le paramètre ROOT_LOCATION (existant) ou le paramètre FROM (recommandé).
L’environnement d’exécution : runtime d’entrepôt ou de conteneur (prévisualisation).
Cette page explique les différences entre les spécifications de l’emplacement source, qui affectent à leur tour les environnements d’exécution pouvant être utilisés.
Pour plus d’informations sur les environnements d’exécution, voir Environnements d’exécution pour les applications Streamlit. Pour obtenir une liste de contrôle pour migrer des runtimes d’entrepôts vers des runtimes de conteneurs, voir Migration entre des environnements d’exécution.
Emplacement source¶
Lorsque vous créez des applications Streamlit dans Snowflake, vous pouvez utiliser deux paramètres différents pour spécifier l’emplacement de vos fichiers sources : ROOT_LOCATION ou FROM. ROOT_LOCATION est un paramètre hérité qui comporte plusieurs restrictions. Actuellement, FROM est le paramètre recommandé pour les nouvelles applications et est nécessaire pour accéder aux dernières fonctionnalités Streamlit in Snowflake, y compris les runtimes des conteneurs. Cette page explique comment différencier les deux types d’applications. Pour activer les dernières fonctionnalités Streamlit in Snowflake, vous devez mettre à niveau vos Streamlits hérités. Pour plus d’informations, voir Migration entre des environnements d’exécution.
Paramètre FROM (recommandé)¶
Le paramètre FROM copie les fichiers d’un emplacement spécifié dans une zone de préparation intégrée à l’objet Streamlit. C’est l’approche actuellement recommandée pour la création d’applications Streamlit.
Avantages :
Prend en charge les runtimes des entrepôts et des conteneurs.
Active la modification de plusieurs fichiers dans Snowsight.
Compatible avec les fonctionnalités d’intégration Git.
Utilise une zone de préparation intégrée et versionnée dans l’objet Streamlit.
Syntaxe :
CREATE STREAMLIT my_app
FROM '@my_stage/app_folder'
MAIN_FILE = 'streamlit_app.py';
Paramètre ROOT_LOCATION (existant)¶
Le paramètre ROOT_LOCATION crée une application qui fait référence à une zone de préparation interne comme sa source. Il s’agit d’une approche héritée comportant plusieurs limites. Si vous avez créé votre application en utilisant une ancienne version de Snowsight, l’emplacement racine de votre application peut être une URL snow (snow://) au lieu d’une zone de préparation nommée.
Limites :
Prend uniquement en charge le runtime de l’entrepôt (impossible d’utiliser le runtime du conteneur).
Pas de prise en charge de la modification de plusieurs fichiers dans Snowsight.
Impossible d’utiliser les fonctionnalités d’intégration Git.
Nécessite un accès continu à la zone de préparation interne.
Syntaxe :
CREATE STREAMLIT my_app
ROOT_LOCATION = '@my_stage/app_folder'
MAIN_FILE = '/streamlit_app.py';
Identification du type d’emplacement source de votre application¶
Vous pouvez déterminer quel paramètre a été utilisé pour créer votre application en examinant la sortie DESCRIBE STREAMLIT :
DESCRIBE STREAMLIT my_app;
Les applications basées sur ROOT_LOCATION renvoient moins de colonnes et incluent une colonne
root_location.Les applications basées sur FROM renvoient plus de colonnes et incluent une colonne
live_version_location_uri.
Lorsque vous modifiez une application dans Snowsight, vous envoyez des mises à jour vers root_location ou live_version_location_uri, en fonction du type d’application. Vous pouvez mettre à jour les deux types d’applications à l’aide des commandes SQL vers PUT ou COPY FILES vers ces emplacements.