본문 바로가기
TIL _Today I Learned/2024.12

[DAY 111] 최종 프로젝트_ Lambda

by gamdong2 2024. 12. 26.
[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.12.26

📕 프로젝트 작업 내역

  • FileRecord 테이블 채우기

 

📗 수행 결과

1. FileRecord 테이블 채우기

1) 라벨링 자동화 파이프라인

사용자 문제 업로드 (Django API) → S3 업로드 → Lambda 함수 실행 (S3 이벤트 트리거)  → EC2 내 라벨링 파이프라인 실행 (YOLO > OCR > LLM) → 라벨링 결과 저장 (PostgreSQL) → 사용자 응답 (Django API)

 

2) 이번 목표

S3 버킷에 사용자 문제 데이터 업로드 → Lambda 트리거 →  SSM API → PostgreSQL 컨테이너 내 FileRecord 테이블에 데이터 채우기 자동화

 

3) 해야할 일

  • S3 이벤트 트리거 구성
  • Lambda 함수 생성
  • Lambda 함수 코드 작성
  • Lambda와 EC2 간 연결 (SSM API)

4) 실행!

① Lambda 함수 생성

  • 함수명: start_FileRecord
  • 기존 역할: role_for_start_json_to_neo4j
  • VPC 활성화: EC2와 동일한 VPC
  • 서브넷: EC2와 동일한 서브넷
  • 보안 그룹: EC2와 동일한 보안 그룹

② S3 버킷 이벤트 트리거 생성

  • S3 버킷명: big9-project-02-question-bucket
    • 폴더명: image or text
  • 이벤트 알림명: event_for_start_FileRecord
    • 이벤트 유형: 전송(s3:ObjectCreated:Put)
    • 대상: Lambda 함수(start_FileRecord)

[Error] 이벤트 중복

- S3 버킷 > 폴더 2개 존재: 두 폴더 모두 각각 이벤트 알림(생성)이 존재

- 따라서 동일한 S3 버킷 전체에 대한 이벤트 알림 생성시 중복됨

- 해결: 기존의 이벤트 알림들 삭제 → 한 가지 알림을 통해 모든 로직이 실행될 수 있게 수정 

 

 

 

 

📙 내일 일정

  • OCR 모델 학습