Joo's
article thumbnail
반응형

한번 해보기

람다 함수 만들기 - 총3개의 람다 함수를 만든다.

  • 숫자를 입력 받았을 때 짝수, 홀수 판단하는 함수(determine_number)
  • 짝수 메시지 출력 함수(even_number)
  • 홀수 메시지 출력 함수(odd_number)

determine_number  : 짝수 홀수 판단 람다 함수 작성하기

event가 JSON으로 들어오면 number 값을 찾아서 짝수 홀수를 판단하고 result와 number를 return한다.

import json

def lambda_handler(event, context):
    number = event['number']
    if number % 2 == 0:
        return {
            'result': 'even',
            'number': number
        }
    else:
        return {
            'result': 'odd',
            'number': number
        }

 

짝수 홀수 테스트 이벤트 만들기

deploy하고 테스트 실행

1을 입력값으로 주었기 때문에 odd라는 결과와 number를 출력한다.

even_number  : 짝수 메시지 출력 함수 만들기

event가 들어오면 number 값을 찾아 message에 넣고 출력한다.

import json

def lambda_handler(event, context):
    return {
        'message': f"{event['number']} is an even number"
    }

위와 같은 test 이벤트를 만들었을 때 숫자를 입력값으로 받아 문장을 출력한다.

odd_number  : 홀수 메시지 출력 함수 만들기

event가 들어오면 number 값을 찾아 message에 넣고 출력한다.

import json

def lambda_handler(event, context):
    return {
        'message': f"{event['number']} is an odd number"
    }

짝수 함수와 같이 숫자를 입력 받아 문장으로 결과를 출력한다.

총 3개의 다 함수를 생성 완료

Step Functions 만들기

Step Functions -> 상태 머신 -> 상태 머신 생성

템플릿은 Blank를 선택한다.

 

설계를 보면 start - end만 있고 중간이 비어 있는데 이 중간을 채워야 한다.

먼저 빈 중간에 작업 - AWS Lambda를 끌어다 놓는다.

끌어다 놓은 람다 함수를 더블 클릭하면 오른쪽에 창이 열린다.

상태 이름을 입력하고 API 파라미터에서 아까 생성한 determine_number 람다 함수를 선택한다.

그 후 흐름 -> Choice를 람다 함수 밑에 놓는다.

Choice도 더블클릭해서 구성을 변경한다.

Choice -> 구성 -> Choice Rules -> Rule #1 수정 -> Add conditions

$.result라는 변수가 들어왔을 때 value가 "even"일 경우를 설정한다.

Choice Rules에는 현재 2가지 rule이 있어서 rule #1에 해당하지 않으면 자동으로 default rule로 전달된다.

(if문의 else와 같다.)

굳이 따로 설정할 필요가 없다.

 

다시 왼쪽에 있는 작업 -> Lambda 함수 2개를 끌어다 choice 밑에 배치한다.

왼쪽 람다 함수에는 Even Number라는 상태 이름을 입력하고 API 파라미터에 even_number 람다 함수를 선택한다.

같은 방식으로 오른쪽 람다 함수도 odd_number 람다 함수를 선택한다.

설계가 다 끝난 후 코드탭을 보면 지금까지 작업한 내용이 모두 코드로 작성되어 있다.

마지막으로 구성탭에서 step functions 이름 및 역할을 생성한다.

역할의 경우 Lambda, X-ray 권한이 필요하기 때문에 해당 권한을 갖고 있는 역할을 자동 생성한다.

Step Functions 실행 해보기

step functions -> 상태 머신에서 생성된 step function을 선택하고 실행 시작을 누른다.

이름을 정해주고 람다 함수를 테스트했던 것과 같이 JSON 형식으로 입력한다.

{
  "number": 1
}

그 후 실행 시작을 누르면 끝까지 실행되는 것을 볼 수 있다.

설정한 step의 입, 출력값을 확인할 수 있다.

최종적으로 "message": "1 is an odd number" 메시지가 출력된 것을 볼 수 있다.

반응형

'배운 내용 > AWS(아마존 웹 서비스)' 카테고리의 다른 글

aws ecr, docker login 로그인, ecr repository 생성  (0) 2024.07.01
[AWS] vpc flow log  (0) 2024.05.20
AWS Lambda + DynamoDB  (0) 2024.05.09
AWS Lambda+S3  (0) 2024.05.08
AWS EFS  (0) 2024.05.08
profile

Joo's

@JooJY

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!