여기서는 우선 Step Function과 Lambda를 연결하기 위한 사전작업을 간단히 진행하도록 하겠습니다.
이를 진행하기 위해서는 우선 Lambda Function2개를 아래와 같이 만들어 주어야 합니다.
function안의 내용은 둘이 동일합니다.
lambdastep1, 2 Function
import json
def lambda_handler(message, context):
# ex: {'type': 'first'}
# ex: {'type': 'second'}
# 1. logging
print('Received message from step function')
print(message)
# 2. response object 생성
response = {}
response['type'] = message['type']
return response
# # TODO implement
# return {
# 'statusCode': 200,
# 'body': json.dumps('Hello from Lambda!')
# }
이는 message의 type을 response의 'type'의 값으로 넣고 반환하는 간단한 코드입니다. 이러한 Lambda Function에서는 Step Functions이 필요하지 않습니다. 다만 그냥 예제용으로 살펴봅시다.
이 Step Function과 Lambda와 연결하기 위해서는, Step Function에서 Lambda로 접근할 수 있는 권한을 만들어 주어야 합니다. 이를 위해 우리는 역할을 하나 만들어 주겠습니다.
우선 역할 생성에서 StepFunction을 검색하고 여기에 있는 기존의 AWSLambdaRole을 살펴보면 쓰기 권한을 주어지는데, 이로 충분합니다. 그러므로 바로 다음을 눌러 역할 이름을 정하고 만들어진 역할을 확인해 줍니다.
이로서 둘 간의 연결을 할 준비가 완료 된 것입니다. 다음 시간에 본격적으로 둘간의 연결을 해보겠습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - (DynamoDB) 데이터 아키텍처의 변화 (0) | 2022.07.20 |
---|---|
[ DevOps ] - (AWS Lambda) Lambda Step Functions 구현 (0) | 2022.07.20 |
[ DevOps ] - (AWS Lambda) EFS 파일시스템 생성 + 연동 (0) | 2022.07.20 |
[ DevOps ] - (AWS Lambda) Layers (0) | 2022.07.19 |
[ DevOps ] - (AWS Lambda) 환경변수 설정 (0) | 2022.07.19 |