Exemplo - Aplicativo Streamlit de página única

Atenção

Este recurso está disponível para contas nas regiões comerciais do AWS e Microsoft Azure. AWS PrivateLink e Azure Private Link não são suportados.

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