기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Step Functions에서 Map 상태를 사용하여 대기열의 데이터 처리
이 샘플 워크플로에서 Map 워크플로 상태 상태는 대기열의 데이터를 처리하여 구독자에게 메시지를 보내고 데이터베이스에 저장합니다.
Step Functions는 최적화된 통합을 사용하여 Amazon SQS 대기열에서 메시지를 가져옵니다. 메시지를 사용할 수 있는 경우 Choice 상태는 처리를 위해 JSON 메시지 배열을 맵 상태로 전달합니다. 상태 시스템은 각 메시지에 대해 DynamoDB에 메시지를 쓰고, 대기열에서 메시지를 제거하고, Amazon SNS 주제에 메시지를 게시합니다.
1단계: 상태 시스템 만들기
-
Step Functions 콘솔
을 열고 상태 시스템 생성을 선택합니다. -
작업할 스타터 템플릿을 찾아 선택합니다. 다음을 선택하여 계속 진행합니다.
-
데모 실행을 선택하여 읽기 전용 및 ready-to-deploy 워크플로를 생성하거나, 데모에 빌드를 선택하여 나중에 배포할 수 있는 편집 가능한 상태 시스템 정의를 생성합니다.
-
템플릿 사용을 선택하여 계속 선택합니다.
다음 단계는 이전 선택에 따라 달라집니다.
-
데모 실행 -가에 배포한 리소스로 읽기 전용 프로젝트를 생성하기 전에 상태 시스템을 검토할 수 AWS CloudFormation 있습니다 AWS 계정.
상태 시스템 정의를 볼 수 있으며 준비가 되면 배포 및 실행을 선택하여 프로젝트를 배포하고 리소스를 생성합니다.
배포는 리소스 및 권한을 생성하는 데 최대 10분이 걸릴 수 있습니다. 스택 ID 링크를 사용하여 AWS CloudFormation의 진행 상황을 모니터링할 수 있습니다.
배포가 완료되면 콘솔에 새 상태 시스템이 표시됩니다.
-
이를 기반으로 구축 - 워크플로 정의를 검토하고 편집할 수 있습니다. 사용자 지정 워크플로 실행을 시도하기 전에 샘플 프로젝트의 자리 표시자에 대한 값을 설정해야 할 수 있습니다.
참고
계정에 배포된 서비스에 표준 요금이 적용될 수 있습니다.
2단계: Amazon SNS 주제 구독
작은 정보
상태 머신을 실행하기 전에 Amazon SNS 주제를 구독하고 Amazon SQS 대기열에 항목을 추가합니다.
-
Amazon SNS 콘솔
을 엽니다. -
주제를 선택하고 샘플 프로젝트에서 생성한 주제를 찾습니다.
-
구독 생성을 선택하고 프로토콜에서 이메일을 선택합니다.
-
엔드포인트에 주제를 구독할 이메일 주소를 입력합니다.
-
구독 생성을 선택합니다.
-
이메일에서 구독을 확인하여 구독을 활성화합니다.
3단계: Amazon SQS 대기열에 메시지 추가
-
Amazon SQS 콘솔
을 엽니다. -
샘플 프로젝트에서 생성한 대기열을 선택합니다.
-
메시지 전송 및 수신을 선택하고 메시지를 입력한 다음 메시지 전송을 선택합니다. 이 단계를 반복하여 대기열에 여러 메시지를 추가합니다.
4단계: 상태 시스템 실행
작은 정보
Amazon의 대기열SNS은 최종적으로 일관됩니다. 상태 시스템을 실행하기 전에 대기열로 메시지를 보낸 후 몇 분 정도 기다려야 할 수 있습니다.
상태 시스템 페이지에서 샘플 프로젝트를 선택합니다.
샘플 프로젝트 페이지에서 실행 시작을 선택합니다.
실행 시작 대화 상자에서 다음을 수행합니다.
-
(선택 사항) 생성된 기본값을 재정의하려면 사용자 지정 실행 이름을 입력합니다.
비ASCII 이름 및 로깅
Step Functions는 비ASCII 문자가 포함된 상태 시스템, 실행, 활동 및 레이블의 이름을 허용합니다. 이러한 문자는 Amazon에서 작동하지 않으므로 지표를 추적할 수 있도록 ASCII 문자만 사용하는 CloudWatch것이 좋습니다 CloudWatch.
-
(선택 사항) 입력 상자에 입력 값을 로 입력합니다JSON. 데모를 실행하는 경우 이 단계를 건너뛸 수 있습니다.
-
실행 시작을 선택합니다.
Step Functions 콘솔은 그래프 보기에서 상태를 선택하여 단계 세부 정보 창의 관련 정보를 탐색할 수 있는 실행 세부 정보 페이지로 연결됩니다.
-
축하합니다!
이제 실행 중인 데모 또는 사용자 지정할 수 있는 상태 시스템 정의가 있을 것입니다.