1
0

Streamlit cloudにAPIキーなどを格納して公開する方法

Last updated at Posted at 2023-11-08

はじめに

以前にPythonのフレームワークであるStreamlitをもとに楽曲レコメンドWebアプリを作成しました。そのアプリはStreamlit Cloudで公開したのですが、利用しているAPIキーをどこに保持していいか分からず、それについて調べた結果をまとめた記事です。

APIキーとは

APIキーとAPIを利用するために必要なパスワードみたいなもので、これがないとAPIを叩けません。(簡単な例でいうと、実家の鍵みたいな感じ)
そのため、GitHubで公開してしまうと、最悪の場合不正利用されてしまう可能性があります。もし誤って公開すると、GitGuardianから大量の英語メールが届きます。
ゼッタイに公開してはダメ。

普通はどうする?

下記のように設定してAPIキーを利用します。

  • Pythonではdotenvを用いて.envファイルを作成し.gitignoreの対象にする。
  • ターミナルやコマンドプロンプトで環境変数として設定する。

Streamlit Cloudで公開する場合

Streamlit Cloudで公開する場合はGitHubで公開されているリポジトリを参照してデプロイしています。


はじめに

そのため、Streamlit Cloudのページの設定したいアプリを探して下の画像の三点リーダをクリック
image.png


設定の中ば

クリックすると下の画像が出てくるため、Settingsをクリック
image.png


あと少しで設定完了

そうすると下の画像が出てきます。このSecretsにAPIキーを記入することで、他人には見られずにデプロイできます。
image.png


このSecretsに記入したAPIキーはデプロイするアプリの###.py(例えば、app.py)にst.secretsで利用することができる。

Secrets
[ファイル名]
####_APIKey = 'qwerty12345'
app.py
API_KEY = st.secrets['ファイル名']['####_APIKey']

最後に

今回デプロイするときにdotenvやターミナルで環境変数に設定してみてもうまく行かず...
今後、Streamlit Cloudでアプリをデプロイされる方のお助けになれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0