[Hands On] S3 트리거에 의한 Lambda의 압축 파일 처리Deployment Acceleration, 전체 / 글쓴이 이샘 사원 [AWS] Datalake DevOps 1. 준비 공공데이터 다운로드금융빅데이터플랫폼- 가입한 보험의 보장항목별로 보험회사의 판매 비중을 확인할 수 있는 정보 2. S3 구성 AWS Management Console 로그인S3 메뉴 이동버킷만들기(ex. 버킷명 : s3-techday-da-202202) 새 버킷명 입력 > AWS 리전(아시아 태평양(서울) ap-northeast-2) 선택 > 버킷만들기 생성된 버킷 선택 > 폴더 만들기 > 새 폴더 생성공공데이터 다운로드받은 원본 파일 업로드할 폴더 생성(ex. 폴더명 : org)람다에 의해 압축 풀린 csv 파일이 업로드될 폴더 생성(ex. 폴더명 : new) 3. Lambda 구성 Lambda > 함수 메뉴 이동함수 생성 블루프린트 생성 > s3_get_object_python 선택 > 구성블루프린트는 Lambda를 AWS 서비스 또는 인기 있는 타사 애플리케이션과 함께 사용하는 방법을 보여주는 샘플 코드를 제공합니다. 블루프린트에는 Node.js 및 Python 런타임에 대한 샘플 코드 및 함수 구성 사전 설정이 포함되어 있습니다. 새 함수명 입력 실행역할 > AWS 정책 템플릿에서 새 역할 생성 > 새 역할 이름 입력 블루프린트에서 샘플 Lambda 함수 코드 제공 > 함수 생성 생략 가능!블루프린트로 제공해주는 샘플 코드 테스트 name은 Lambda에서 읽을 S3버킷명으로 변경 arn은 Lambda에서 읽을 s3버킷의 arn으로 변경 key는 Lambda에서 읽을 S3객체 key로 변경 테스트 생성 테스트성공 – S3객체의 Content Type이 정상 출력됨 Lambda 함수 코드 변경 작성 여기를 클릭 Deploy 버튼 클릭하여 변경된 코드 저장 구성 > 일반구성 > 편집 > 메모리, 제한시간, IAM(실행 역할) 설정 구성 > 권한 > 역할이름 클릭하여 IAM 메뉴로 진입Lambda에 부여한 역할 > 권한 > 권한추가 > 인라인 정책 생성 Lambda > 추가 트리거 > 트리거 추가 트리거 구성 > s3 선택 > 버킷선택(업로드할 버킷 선택) > 이벤트유형 : 모든 객체 생성 이벤트 > 접두사입력 org/ (업로드할 경로명) > 접미사 입력 .zip > 재귀호출 확인란 체크 > 추가 버튼 클릭 4. s3트리거에 의한 Lambda 함수 호출 테스트 s3에 생성한 버킷의 원본파일 업로드할 폴더 경로에 공공데이터(.zip 압축 원본) 업로드s3에 생성한 버킷의 Lambda에 의해 처리된 csv 파일이 생성해 놓았던 폴더에 정상적으로 업로드 되었는지 확인실패 시 Lambda에 모니터링 메뉴에 로그에서 CloudWatch 로그를 통해 추적 가능