はじめに
以前にPythonのフレームワークであるStreamlit
をもとに楽曲レコメンドWebアプリを作成しました。そのアプリはStreamlit Cloud
で公開したのですが、利用しているAPIキーをどこに保持していいか分からず、それについて調べた結果をまとめた記事です。
APIキーとは
APIキーとAPIを利用するために必要なパスワードみたいなもので、これがないとAPIを叩けません。(簡単な例でいうと、実家の鍵みたいな感じ)
そのため、GitHub
で公開してしまうと、最悪の場合不正利用されてしまう可能性があります。もし誤って公開すると、GitGuardian
から大量の英語メールが届きます。
ゼッタイに公開してはダメ。
普通はどうする?
下記のように設定してAPIキーを利用します。
- Pythonでは
dotenv
を用いて.env
ファイルを作成し.gitignore
の対象にする。 - ターミナルやコマンドプロンプトで環境変数として設定する。
Streamlit Cloud
で公開する場合
Streamlit Cloud
で公開する場合はGitHub
で公開されているリポジトリを参照してデプロイしています。
はじめに
そのため、Streamlit Cloud
のページの設定したいアプリを探して下の画像の三点リーダをクリック
設定の中ば
クリックすると下の画像が出てくるため、Settings
をクリック
あと少しで設定完了
そうすると下の画像が出てきます。このSecrets
にAPIキーを記入することで、他人には見られずにデプロイできます。
このSecrets
に記入したAPIキーはデプロイするアプリの###.py(例えば、app.py)にst.secrets
で利用することができる。
[ファイル名]
####_APIKey = 'qwerty12345'
API_KEY = st.secrets['ファイル名']['####_APIKey']
最後に
今回デプロイするときにdotenv
やターミナルで環境変数に設定してみてもうまく行かず...
今後、Streamlit Cloud
でアプリをデプロイされる方のお助けになれば幸いです。