Skip to content

Functions (Lambda)

개요

truloop-functions는 서버리스 Lambda 함수를 관리하는 레포지토리입니다. EventBridge Scheduler가 호출하는 Lambda 함수가 truloop-core Internal API에서 트리거 대상을 조회하고, SQS를 통해 소비자 서비스로 이벤트를 라우팅합니다.

현재 단일 Lambda 함수(trigger-dispatcher)로 구성되어 있으며, 향후 추가 Lambda 함수가 이 레포에 포함될 수 있습니다.

기술 스택

항목기술버전
런타임 (Lambda)Python3.13
IaCPulumi (TypeScript)-
린터/포매터Biome-
CI/CDGitHub Actions-

정보

Lambda 함수는 외부 의존성 없이 Python 표준 라이브러리만 사용합니다. boto3는 Lambda 런타임에 기본 포함되어 별도 패키징이 불필요합니다.

프로젝트 구조

truloop-functions/
├── trigger-dispatcher/       # Lambda: EventBridge → Core API → SQS 라우팅
│   └── handler.py            # Lambda 핸들러 (단일 파일)
├── infra/                    # Pulumi IaC (TypeScript)
│   ├── index.ts              # 메인 엔트리 포인트
│   └── src/
│       ├── env-config.ts     # 환경 설정 (ESC 주입)
│       └── stack-reference.ts # 다른 Pulumi 스택 참조
└── .github/workflows/        # CI/CD
    ├── ci.yml                # Biome + TypeScript 검사
    ├── cd.yml                # Pulumi 배포 오케스트레이션
    ├── _deploy-pulumi.yml    # 배포 실행 (재사용 워크플로우)
    ├── _notify-deploy.yml    # Slack 알림 (재사용 워크플로우)
    ├── branch-deploy.yml     # 브랜치 배포
    └── rollback.yml          # 롤백

서비스 간 위치

truloop-core의 EventBridge Scheduler가 특정 시점에 Lambda를 비동기 호출하면, Lambda가 Core API에서 대상 사용자 그룹을 페이지네이션으로 조회한 뒤 SQS 메시지로 변환하여 소비자 서비스(현재 truloop-assistant)에 전달합니다.

하위 문서

  • 아키텍처 — trigger-dispatcher 핸들러 흐름, 라우팅 테이블, 에러 처리
  • 인프라 — Pulumi IaC, Stack Reference, CI/CD 파이프라인

변경 이력

날짜내용
2026-03-11최초 작성 — truloop-functions 레포 기술 문서