Step Functions에서 맵 상태를 사용하여 대기열의 데이터를 처리합니다. - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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단계: 상태 시스템 만들기

  1. Step Functions 콘솔을 열고 상태 시스템 생성을 선택합니다.

  2. 맵 상태에서 데이터를 동적으로 처리하도록 찾아 선택합니다. 다음을 선택하여 계속 진행합니다.

  3. 데모 실행을 선택하여 읽기 전용 및 ready-to-deploy 워크플로를 생성하거나 Build on it를 선택하여 빌드하고 나중에 배포할 수 있는 편집 가능한 상태 머신 정의를 생성합니다.

  4. 템플릿 사용을 선택하여 계속 선택합니다.

다음 단계는 이전 선택에 따라 달라집니다.

  1. 데모 실행 — 에서 배포한 리소스로 읽기 전용 프로젝트를 만들기 전에 상태 머신을 검토할 수 있습니다. AWS CloudFormation 다음 주소로 AWS 계정.

    상태 머신 정의를 볼 수 있으며 준비가 되면 Deploy and run을 선택하여 프로젝트를 배포하고 리소스를 생성할 수 있습니다.

    배포하는 데 리소스 및 권한을 생성하는 데 최대 10분이 걸릴 수 있습니다. Stack ID 링크를 사용하여 진행 상황을 모니터링할 수 있습니다. AWS CloudFormation.

    배포가 완료되면 콘솔에서 새 상태 머신을 확인할 수 있습니다.

  2. 기반 구축 — 워크플로 정의를 검토하고 편집할 수 있습니다. 사용자 지정 워크플로를 실행하기 전에 샘플 프로젝트에서 자리 표시자의 값을 설정해야 할 수도 있습니다.

참고

계정에 배포된 서비스에는 표준 요금이 적용될 수 있습니다.

2단계: Amazon SNS 주제 구독

작은 정보

상태 머신을 실행하기 전에 Amazon SNS 주제를 구독하고 Amazon SQS 대기열에 항목을 추가하십시오.

  1. Amazon SNS 콘솔을 엽니다.

  2. 주제를 선택하고 샘플 프로젝트에서 만든 주제를 찾습니다.

  3. 구독 생성을 선택하고 프로토콜에서 이메일을 선택합니다.

  4. 엔드포인트에서 주제를 구독할 이메일 주소를 입력합니다.

  5. 구독 생성을 선택합니다.

  6. 이메일에서 구독을 확인하여 구독을 활성화하십시오.

3단계: Amazon SQS 대기열에 메시지 추가

  1. Amazon SQS 콘솔을 엽니다.

  2. 샘플 프로젝트에서 만든 대기열을 선택합니다.

  3. 메시지 보내기 및 받기를 선택하고 메시지를 입력한 다음 메시지 보내기를 선택합니다. 이 단계를 반복하여 대기열에 메시지를 여러 개 추가합니다.

4단계: 상태 시스템 실행

작은 정보

Amazon의 SNS 대기열은 결국 일관성을 유지합니다. 대기열로 메시지를 보낸 후 상태 머신을 실행하려면 몇 분 정도 기다려야 할 수 있습니다.

  1. 상태 시스템 페이지에서 샘플 프로젝트를 선택합니다.

  2. 샘플 프로젝트 페이지에서 실행 시작을 선택합니다.

  3. 실행 시작 대화 상자에서 다음을 수행합니다.

    1. (선택 사항) 생성된 기본값을 재정의하려면 사용자 지정 실행 이름을 입력합니다.

      ASCII비이름 및 로깅

      Step Functions는 ASCII -자가 아닌 문자를 포함하는 상태 머신, 실행, 액티비티 및 레이블의 이름을 허용합니다. CloudWatchAmazon에서는 이러한 문자를 사용할 수 없으므로 지표를 추적할 수 있도록 ASCII 문자만 사용하는 것이 좋습니다 CloudWatch.

    2. (선택 사항) 입력 상자에 입력 값을 로 입력합니다JSON. 데모를 실행 중인 경우 이 단계를 건너뛸 수 있습니다.

    3. 실행 시작을 선택합니다.

    Step Functions 콘솔은 그래프 보기에서 상태를 선택하여 단계 세부 정보 창에서 관련 정보를 탐색할 수 있는 실행 세부 정보 페이지로 안내합니다.

축하합니다!

이제 실행 중인 데모나 사용자 정의할 수 있는 스테이트 머신 정의가 생겼을 것입니다.