DEV Community

수연 안
수연 안

Posted on

[slackbot] aws lambda 로 python 자동화 코드 실행하기

python 코드에 대한 설명은
이전 게시물에서 작성되어 생략합니다.

1. aws lambda 환경 만들기

aws lambda 란?

  • Amazon에서 제공하는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 서버리스(serverless) 컴퓨팅 서비스입니다.

1) 함수 생성

aws lambda 메뉴에 접근 후 함수 생성 클릭
image

2) 함수 이름 입력 및 언어 선택

원하는 함수이름을 입력하고, 함수를 작성하는 데 사용할 언어를 선택
image

3) 함수 환경 확인

함수를 생성이 완료되어 lambda 메인 화면을 확인함
lambda function (python : lambda_function.py) 파일이 생성됨

  • [코드] 메뉴에서 코드를 작성하고 수정 및 배포할 수 있음
  • [테스트] 메뉴에서 함수를 호출하여 실행한 결과를 확인할 수 있음

image

4) 테스트 이벤트 환경 구성

코드 메뉴에서 테스트 및 이벤트 환경을 구성하여 빠르게 이벤트 실행이 가능함
image

5) 테스트 실행 결과 확인

image

image

2. python 코드로 slack에 메세지 전송하기

생성된 lambda function 및 구성 환경에 python코드를 작성하여 slack 채널로 메세지를 전송한다.

1) slack_sdk 파일 업로드

slack_sdk 모듈을 import 해서 사용해야 하기 때문에
로컬에 다운로드한 slack_sdk 소스코드를 lambda에 업로드가 필요함
.zip 파일 업로드 기능을 이용하여, slack_sdk 소스코드를 압축하여 업로드
image

2) slack_sdk 업로드 확인

소스코드들이 업로드 되어 왼쪽 파일 트리 내 코드 확인이 가능함
image

3) python 실행

업로드한 slack_sdk 소스코드를 포함하여, 필요한 python 코드를 작성하고 실행
image

4) 실행

작성한 스크립트 파일을 실행하면, slack으로 작성된 코드가 전달되는 것을 볼수 있다.
image

3. cron 스케줄링 작성

1) 트리거 추가

트리거 추가 기능을 이용하여 스케줄링 가능
image

2)EventBridge(CloudWatch Events) 이벤트 트리거 구성

만들어진 lambda 함수를 정해진 시간에 자동으로 원하는 명령이 실행될 수 있도록 트리거를 추가
image

3) 트리거 규칙 설정

cron(분 시간 일 월 요일 년)의 형식에서 원하는 시간을 설정
시간이 UTC시간이라 한국 시간으로 하기 위해서는 "한국시간 - 9시간"으로 작성
아래 사진은 매 2분마다 알람이 오도록 설정
image

4) 트리거 추가 완료

트리거가 추가로 인해 정해진 시간에 실행되어 알람이 오도록 가능함
원하는 트리거 설정으로 변경하여 사용 가능함
image

5) 자동 실행

2분마다 실행되도록 설정 된 것을 확인함
image

Top comments (0)