[python] FastAPI에서 환경 변수 설정하기

FastAPI는 웹 애플리케이션을 빠르게 개발하기 위한 Python 웹 프레임워크입니다. 애플리케이션을 배포하거나 다른 환경에서 실행할 때, 환경 변수를 설정하는 것은 중요한 부분입니다. 이 블로그 포스트에서는 FastAPI에서 환경 변수를 설정하는 방법을 알아보겠습니다.

1. python-decouple 라이브러리 설치하기

환경 변수를 처리하기 위해 python-decouple 라이브러리를 설치해야합니다. 다음 명령어를 사용하여 라이브러리를 설치합니다:

pip install python-decouple

2. 환경 변수 파일 생성하기

FastAPI 프로젝트 디렉토리의 루트에 .env 파일을 생성합니다. 이 파일에 환경 변수를 저장할 것입니다. 다음은 .env 파일의 예시입니다:

DATABASE_URL=postgres://user:password@localhost/dbname
API_KEY=secretkey123

3. FastAPI에서 환경 변수 사용하기

FastAPI에서 환경 변수를 사용하려면 다음과 같이 settings.py 파일을 생성합니다:

from decouple import config

DATABASE_URL = config("DATABASE_URL")
API_KEY = config("API_KEY")

위 코드에서 config 함수는 환경 변수를 가져오는데 사용됩니다.

4. FastAPI 애플리케이션에서 환경 변수 사용하기

FastAPI 애플리케이션에서 settings.py 파일을 import하여 환경 변수를 사용할 수 있습니다. 예를 들어, 다음과 같이 main.py 파일에서 환경 변수를 사용할 수 있습니다:

from fastapi import FastAPI
from .settings import DATABASE_URL, API_KEY

app = FastAPI()

@app.get("/")
def root():
    return {"message": "환경 변수 사용 예시", "database_url": DATABASE_URL, "api_key": API_KEY}

위 코드에서 DATABASE_URLAPI_KEY.env 파일에서 설정한 환경 변수를 사용합니다.

5. 실행 결과 확인하기

FastAPI를 실행하고 http://localhost:8000/에 접속하면 다음과 같은 결과를 볼 수 있습니다:

{
    "message": "환경 변수 사용 예시",
    "database_url": "postgres://user:password@localhost/dbname",
    "api_key": "secretkey123"
}

환경 변수의 값이 정상적으로 출력되는 것을 확인할 수 있습니다.

이제 FastAPI에서 환경 변수를 설정하고 사용하는 방법에 대해 알아보았습니다. 환경 변수를 사용하면 애플리케이션의 보안을 향상시키고, 배포와 관리를 더욱 용이하게 할 수 있습니다.