[python] FastAPI와 AWS DynamoDB의 연동
FastAPI는 빠르고 현대적인 웹 프레임워크로, AWS DynamoDB는 완벽으로 관리되며 확장 가능한 NoSQL 데이터베이스입니다. 이 블로그 포스트에서는 FastAPI와 AWS DynamoDB를 연동하는 방법에 대해 알아보겠습니다.
준비물
작업을 시작하기 전에 다음이 필요합니다.
- Python 3.7 이상
- AWS 계정 및 액세스 키와 시크릿 키
- FastAPI와 boto3 (AWS SDK for Python)의 설치
AWS 액세스 키 및 시크릿 키 설정
AWS 액세스 키와 시크릿 키를 설정하려면 다음과 같이 환경 변수를 사용할 수 있습니다.
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=your_aws_region
FastAPI와 DynamoDB 연동
먼저 FastAPI와 AWS SDK를 사용하여 DynamoDB와의 연결을 설정해야 합니다. 다음은 FastAPI 애플리케이션 내에서의 AWS SDK를 초기화 하는 방법입니다.
import boto3
from fastapi import FastAPI
app = FastAPI()
# AWS SDK를 사용하여 DynamoDB 연결
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('your_table_name')
예제: 데이터 가져오기
다음은 FastAPI를 사용하여 DynamoDB에서 데이터를 가져오는 예제입니다.
from typing import List
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
id: int
name: str
@app.get("/items/", response_model=List[Item])
async def read_items():
response = table.scan()
items = response['Items']
return items
위 예제에서, /items/
엔드포인트는 DynamoDB에서 데이터를 가져와 Item
모델의 리스트 형태로 반환합니다.
마치며
이제 FastAPI와 AWS DynamoDB를 연동하는 방법을 알아보았습니다. 이를 기반으로 추가 기능을 구현하고, 보안 및 데이터 관리를 위한 추가 작업을 수행할 수 있습니다. FastAPI 공식 문서 및 AWS SDK for Python 문서를 참조하여 자세한 정보를 얻을 수 있습니다.
참고 자료
이상으로 FastAPI와 AWS DynamoDB의 연동에 대해 알아볼 것이었습니다. 감사합니다!