Exemple - Application Streamlit à page unique¶
Attention
Cette fonctionnalité est disponible pour les comptes des régions commerciales AWS et Microsoft Azure. AWS PrivateLink et Azure Private Link ne sont pas pris en charge.
Cette rubrique contient un exemple de base d’une application Streamlit à page unique.
Pour plus de détails sur l’accès aux données Snowflake à partir d’une application Streamlit, voir Exemple - Accès aux données Snowflake à partir de Streamlit in Snowflake. Pour plus d’informations sur la création d’une application Streamlit multipage, voir Création d’une application Streamlit en utilisant SQL.
L’exemple suivant montre une application Streamlit de base :
# Import python packages
import streamlit as st
from snowflake.snowpark.context import get_active_session
# Write directly to the app
st.title("Example Streamlit App :balloon:")
st.write(
"""Replace this example with your own code!
**And if you're new to Streamlit,** view
our easy-to-follow guides at
[docs.streamlit.io](https://docs.streamlit.io).
"""
)
# Get the current credentials
session = get_active_session()
# Use an interactive slider to get user input
hifives_val = st.slider(
"Number of high-fives in Q3",
min_value=0,
max_value=90,
value=60,
help="Use this to enter the number of high-fives you gave in Q3",
)
# Create an example dataframe
# Note: this is just some dummy data, but you can easily connect to your Snowflake data
# It is also possible to query data using raw SQL using session.sql() e.g. session.sql("select * from table")
created_dataframe = session.create_dataframe(
[[50, 25, "Q1"], [20, 35, "Q2"], [hifives_val, 30, "Q3"]],
schema=["HIGH_FIVES", "FIST_BUMPS", "QUARTER"],
)
# Execute the query and convert it into a Pandas dataframe
queried_data = created_dataframe.to_pandas()
# Create a simple bar chart
# See docs.streamlit.io for more types of charts
st.subheader("Number of high-fives")
st.bar_chart(data=queried_data, x="QUARTER", y="HIGH_FIVES")
st.subheader("Underlying data")
st.dataframe(queried_data, use_container_width=True)