AWS Lambda 실습(2)

흑이·2023년 1월 17일
0

실습(2)

  • PutObject 발생 시 Lambda 함수 실행
  • S3 버켓에 날씨 데이터가 JSON파일이 실시간으로 업로드 된다고 가정
  • 만약 측정된 온도가 특정 임계치를 넘는다면 그 온도가 언제 측정됐는지 주의 하라는 메세지 출력
  • 온도가 임계치 이하라면 특별한 메시지를 출력하지 않도록 람다 함수 구성


  • 새로운 람다함수 생성
  • 권한 - 람다함수가 S3 버켓의 특정 행동을 감지해야 함


  • 코드 작성
  • Boto3 는 Python 용 AWS SDK (Software Development Kit)
  • Boto3를 활용하여 파이썬 코드로 AWS의 서비스들을 활용할 수 있다.
  • event에서 bucket과 key의 정보를 가져옴
  • 정보들을 가지고 client.get_object를 통해 오브젝트를 가져옴
  • 온도가 40도를 넘는다면 몇도이고 언제 감지되었는지 메세지 출력
  • 만약 온도가 낮다면 "So far so goood" 메세지 출력


  • 버킷 생성


  • 버킷 생성 후, 속성탭에서 이벤트 생성
  • 이벤트란 버킷에서 특정 상황이 발생했을 때(ex.오브젝트가 업로드, 삭제)


  • 접두사, 접미사 : 모든 오브젝트가 아닌 특정 오브젝트만 필터링 (ex.jpg)
  • 이벤트 : PUT , POST, COPY 등 행위


  • 대상에 생성했던 Lambda를 선택


  • Lambda에서 확인해보면 트리거 S3를 확인할 수 있다.


  • S3에서 json 파일 업로드
  • json 파일 내용
{
	"temperature":45
}


  • CloudWatch에서 로그 스트림이 생성된걸 확인할 수 있다.


  • 상세 로그를 보면 45도, 시간, 메세지가 발생된걸 확인할 수 있다.


  • S3에서 다른 json 파일 업로드
  • json 파일 내용
{
	"temperature":23
}
  • CloudWatch에서 로그 스트림이 생성된걸 확인할 수 있다.

  • So far so good 메세지 출력 내용 확인


https://www.inflearn.com/course/aws-%EC%9E%85%EB%AC%B8/dashboard

0개의 댓글