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