Hi @gwk01,
Welcome to the Streamlit forum!
Hereās a working example of using a Streamlit app to upload a dataframe to an AWS bucket:
It is indeed a huge security risk to post your tokens publicly. Which is why Streamlit and Community Cloud have a Secrets management feature:
When developing your app locally, you can create at the root of your appās directory a .streamlit/secrets.toml
file containing your tokens. For example:
.streamlit/secrets.toml
AWS_TOKEN="thisismytoken"
AWS_OTHER_SECRET="myothersecret"
If you create the above secrets, you can reference them in your app like so:
# streamlit_app.py
import streamlit as st
# Display secrets
st.write(st.secrets["AWS_TOKEN"])
st.write(st.secrets["AWS_OTHER_SECRET"])
The above will output:
thisismytoken
myothersecret
When deploying remotely, however, add this file to your .gitignore
so you donāt commit your secrets to GitHub! On Community Cloud, you can paste in your secrets using the Secrets management console.
Also, check out the following as an example of how to use secrets: