[python] FastAPI와 AWS DynamoDB의 연동

FastAPI는 빠르고 현대적인 웹 프레임워크로, AWS DynamoDB는 완벽으로 관리되며 확장 가능한 NoSQL 데이터베이스입니다. 이 블로그 포스트에서는 FastAPI와 AWS DynamoDB를 연동하는 방법에 대해 알아보겠습니다.

준비물

작업을 시작하기 전에 다음이 필요합니다.

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의 연동에 대해 알아볼 것이었습니다. 감사합니다!