早速みていきましょう!
- .envファイルやAWSのパラメータストアから環境変数を取得し、アプリケーションのコンテナを立ち上げる
- コンテナ内で取得した環境変数を設定クラスに記述
- 設定クラスをインスタンス化することで利用可能
.env
DEBUG=1
TEST=hoge
example.py
from pydantic import BaseSettings
class VariableSettings(BaseSettings):
"""
環境変数を取得する設定クラス
"""
DEBUG: bool
TEST: str
AAA: str = "BBB"
settings = VariableSettings()
print(settings.DEBUG) # True
print(settings.TEST) # hoge
print(settings.AAA) # BBB
load_dotenv()で取得せず、このやり方にするメリット
- 環境変数の型を指定できる
- settings.py内でどんな環境変数が使用されているか一目でわかる
- タイポしていると読み込み時にエラーになるので分かりやすい
- 何度も同じ文字列を書く必要がない
- 編集する箇所が限定されている(エディタの機能でリネームしやすい)