AWS Lambda와 DynamoDB는 실시간 데이터 처리를 위한 강력한 도구입니다. Lambda는 이벤트를 트리거로 사용하여 동적으로 확장되는 서버리스 아키텍처를 구축하는 데 사용됩니다. DynamoDB는 높은 확장성과 신뢰성을 제공하는 완전 관리형 NoSQL 데이터베이스입니다.
Lambda와 DynamoDB의 연결
우리의 목표는 Lambda 함수를 사용하여 들어오는 데이터를 실시간으로 처리하고 DynamoDB에 저장하는 것입니다. 먼저 Lambda와 DynamoDB를 연결해 보겠습니다.
- AWS 콘솔에 로그인하고 Lambda 서비스로 이동합니다.
- “함수 만들기”를 클릭하고, “기본 설정”으로 이동하여 함수를 생성하세요.
- 함수 이름과 설명을 입력한 후 “실행 역할”에서 “새 역할 만들기”를 선택합니다.
- “실행 역할”을 만들고 나면 Lambda 함수의 세부 정보에 진입합니다. 우리는 여기서 코드를 작성하게 됩니다.
Lambda 코드 작성
이제 Lambda 함수를 작성해 보겠습니다. 이 예시에서는 Python을 사용할 것입니다.
import json
import boto3
def lambda_handler(event, context):
# 이벤트에서 데이터를 추출합니다.
data = json.loads(event['body'])
# DynamoDB 클라이언트를 생성합니다.
dynamodb = boto3.client('dynamodb')
# 데이터를 DynamoDB에 저장합니다.
response = dynamodb.put_item(
TableName='my-table',
Item={
'id': {'S': data['id']},
'name': {'S': data['name']}
}
)
# 저장 결과를 리턴합니다.
return {
'statusCode': 200,
'body': json.dumps('Data saved successfully')
}
위 코드는 트리거된 Lambda 함수에서 데이터를 추출하고, DynamoDB에 저장하는 간단한 예시입니다.
데이터 송수신
Lambda 함수와 DynamoDB 테이블이 작동하는 방식을 이해했으니, 이제 데이터를 Lambda 함수로 전송하고 결과를 확인하는 방법을 알아보겠습니다.
- AWS 콘솔에서 API Gateway 서비스로 이동합니다.
- “API 생성”을 클릭하고, 새로운 REST API를 설정합니다.
- 리소스를 생성하고, 해당 리소스에 대한 POST 메서드를 설정합니다.
- Lambda 함수를 연결합니다.
- API 배포를 생성하고, API 엔드포인트를 얻습니다.
API Gateway를 사용하여 데이터를 전송할 수 있으며, 엔드포인트에 POST 요청을 보내고 Lambda 함수에서 처리된 결과를 확인할 수 있습니다.
요약
AWS Lambda와 DynamoDB는 실시간 데이터 처리를 위한 강력한 조합입니다. 이 문서에서는 Lambda 함수를 사용하여 데이터를 추출하고 DynamoDB에 실시간으로 저장하는 방법을 알아보았습니다.
Lambda와 DynamoDB를 사용하여 데이터 파이프라인을 구축할 수 있으며, 이를 활용하여 원하는 작업을 수행할 수 있습니다. 이러한 서비스를 사용하여 실시간 데이터 처리에 대한 필요성을 충족시킬 수 있습니다.