The AWS Step Functions Workshop을 진행하면서 작성한 글입니다.
Step Functions가 task state를 사용하여 다른 서비스를 호출할 때, Service Integration Patterns (서비스 통합 패턴)을 사용합니다.
서비스 통합 패턴이란 ASL로 직접 서비스와 통합되고, 세가지 통합 패턴을 사용해 AWS 서비스를 제어할 수 있습니다.
- 서비스를 호출하고 HTTP 응답을 받은 직후 Step Functions가 다음 state로 진행되도록 합니다.
- 서비스를 호출하고 Step Functions에서 작업이 완료될 때까지 대기하도록 합니다.
- 작업 토큰으로 서비스를 호출하고 해당 토큰이 payload와 함께 반환될 때까지 Step Functions가 대기하도록 합니다.
1. State machines 실행해 보기
1. CloudFormation에서 실행
module_2.yml 파일 실행
https://serverless-stepfunctions-artifacts-17oiei2i27urc.s3.amazonaws.com/resources/module_2.yml
2. AWS Step Function console ▶️ RequestResponseStateMachine 클릭 ▶️ Edit 클릭
3. workflow studio 클릭
앱에서 지정된 시간을 기다린 후에 요청 응답 패턴을 사용해 SNS에 보내는 workflow입니다.
Resource
아래의 task state에서 서비스 통합 패턴을 지정하는데, 여기서 리소스에 대한 API를 호출하고 API의 HTTP 응답을 기다린 후 다음 state로 진행합니다.
4. workflow studio 종료 ▶️ Start execution 버튼 클릭
Input에 { "message": "Welcome to re:Invent!", "timer_seconds": 5 }
를 입력한 후 실행합니다.
이벤트 히스토리를 살펴보면, SNS에 메세지 보내는 작업 실행시간을 확인할 수 있습니다.
'AWS > Step Functions' 카테고리의 다른 글
AWS Step Functions이란? (0) | 2023.05.11 |
---|---|
Step Functions Workshop (1) - Hello World (0) | 2023.05.10 |