Exemplo - Aplicativo Streamlit de página única

Atenção

Este recurso está disponível para contas em regiões comerciais do AWS e Microsoft Azure. AWS PrivateLink não é suportado.

Este tópico contém um exemplo básico de um aplicativo Streamlit de página única.

Para obter detalhes sobre como acessar dados do Snowflake de um aplicativo Streamlit, consulte Exemplo - Acesso aos dados do Snowflake de Streamlit in Snowflake. Para obter informações sobre como criar um aplicativo Streamlit de várias páginas, consulte Criação de um aplicativo Streamlit usando SQL.

O exemplo a seguir mostra um aplicativo Streamlit básico:

# 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)
Copy