Inline Map 상태를 사용하여 작업 반복 - AWS Step Functions

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

Inline Map 상태를 사용하여 작업 반복

이 자습서는 인라인 모드에서 Map 상태를 시작하는 데 도움이 됩니다. 워크플로의 Inline Map 상태를 사용하여 작업을 반복 수행할 수 있습니다. 인라인 모드에 대한 자세한 내용은 인라인 Inline 모드의 Map 상태를 참조하세요.

이 자습서에서는 Inline Map 상태를 사용하여 버전 4 범용 고유 식별자(v4 UUID)를 반복 생성합니다. 먼저 Workflow Studio에서 두 가지 Pass 상태와 Inline Map 상태가 포함된 워크플로를 만듭니다. 그런 다음 Map 상태에 대한 입력 JSON 배열을 포함하여 입력과 출력을 구성합니다. Map 상태는 입력 배열의 항목마다 생성된 v4 UUID가 포함된 출력 배열을 반환합니다.

1단계: 워크플로 프로토타입 만들기

이 단계에서는 Workflow Studio를 사용하여 워크플로의 프로토타입을 만듭니다. Workflow Studio는 Step Functions 콘솔에서 사용할 수 있는 시각적 워크플로 디자이너입니다. 흐름 탭에서 필요한 상태를 선택하고 Workflow Studio의 끌어서 놓기 기능을 사용하여 워크플로 프로토타입을 만듭니다.

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

  2. 템플릿 선택 대화 상자에서 공백을 선택합니다.

  3. 선택을 선택하세요. 디자인 모드에서 Workflow Studio가 열립니다.

  4. 흐름 탭에서 Pass 상태를 끌어 첫 번째 상태를 여기에 놓기 레이블이 지정된 빈 상태에 놓습니다.

  5. Map 상태를 끌어 Pass 상태 아래에 놓습니다. Map 상태 이름을 Map demo로 변경합니다.

  6. 두 번째 Pass 상태를 끌어 Map demo 상태 안에 놓습니다.

  7. 두 번째 Pass 상태 이름을 Generate UUID로 변경합니다.

2단계: 입력 및 출력 구성

이 단계에서는 워크플로 프로토타입의 모든 상태에 대한 입력과 출력을 구성합니다. 먼저 첫 번째 Pass 상태를 사용하여 일부 고정 데이터를 워크플로에 삽입합니다. 이 Pass 상태는 이 데이터를 Map demo 상태에 대한 입력으로 전달합니다. 이 입력 내에서 Map demo 상태에서 반복해야 하는 입력 배열이 포함된 노드를 지정합니다. 그런 다음 Map demo 상태에서 v4 UUID를 생성하기 위해 반복해야 하는 단계를 정의합니다. 마지막으로 반복마다 반환되도록 출력을 구성합니다.

  1. 워크플로 프로토타입에서 첫 번째 Pass 상태를 선택합니다. 출력 탭의 결과 아래에 다음을 입력합니다.

    { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
  2. Map demo 상태를 선택하고 구성 탭에서 다음을 수행합니다.

    1. 항목 배열에 대한 경로 제공을 선택합니다.

    2. 다음 참조 경로를 지정하여 입력 배열이 포함된 노드를 선택합니다.

      $.colors
  3. Generate UUID 상태를 선택하고 입력 탭에서 다음을 수행합니다.

    1. 파라미터로 입력 변환을 선택합니다.

    2. 다음 JSON 입력을 입력하여 각 입력 배열 항목에 대한 v4 UUID를 생성합니다. States.UUID 내장 함수를 사용하여 UUID를 생성합니다.

      { "uuid.$": "States.UUID()" }
  4. Generate UUID 상태에서 출력 탭을 선택하고 다음을 수행합니다.

    1. 출력 필터링 기능을 선택합니다 OutputPath.

    2. 다음 참조 경로를 입력하여 출력 배열 항목이 포함된 JSON 노드를 선택합니다.

      $.uuid

3단계: 자동 생성된 Amazon States Language 정의 검토 및 워크플로 저장

흐름 패널에서 상태를 끌어 캔버스에 놓으면 Workflow Studio에서 워크플로의 Amazon States Language(ASL) 정의를 실시간으로 자동 작성합니다. 필요에 따라 이 정의를 편집할 수 있습니다.

  1. (선택 사항) Inspector 패널에서 정의를 선택하여 자동으로 생성된 워크플로의 Amazon States Language 정의를 봅니다.

    작은 정보

    Workflow Studio의 코드 편집기에서 ASL 정의를 볼 수도 있습니다. 코드 편집기에서 워크플로의 ASL 정의를 편집할 수도 있습니다.

    다음 예제에서는 워크플로에 자동으로 생성된 Amazon States Language 정의를 보여줍니다.

    { "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
  2. 상태 시스템 이름을 지정합니다. 이렇게 하려면 기본 상태 머신 이름 옆에 있는 편집 아이콘을 선택합니다 MyStateMachine. 그런 다음 상태 머신 구성에서 상태 머신 이름 상자에 이름을 지정합니다.

    이 튜토리얼에서는 이름 InlineMapDemo를 입력합니다.

  3. (선택 사항) 상태 머신 구성에서 상태 시스템 유형 및 실행 역할과 같은 기타 워크플로 설정을 지정합니다.

    이 자습서의 경우 상태 머신 구성의 모든 기본 선택 항목을 그대로 둡니다.

  4. 역할 생성 확인 대화 상자에서 확인을 선택하여 계속합니다.

    역할 설정 보기를 선택하여 상태 머신 구성으로 돌아갈 수도 있습니다.

    참고

    Step Functions에서 만드는 IAM 역할을 삭제하면 나중에 Step Functions에서 이 역할을 다시 만들 수 없습니다. 마찬가지로, 역할을 수정하면(예: IAM 정책의 주요에서 Step Functions 제거) 나중에 Step Functions에서 해당 원본 설정을 복원할 수 없습니다.

4단계: 상태 시스템 실행

상태 시스템 실행은 워크플로를 실행하여 작업을 수행하는 인스턴스입니다.

  1. InlineMapDemo페이지에서 실행 시작을 선택합니다.

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

    1. (선택 사항) 실행을 식별하려면 이름 상자에 해당 실행의 이름을 지정하면 됩니다. 기본적으로 Step Functions는 자동으로 고유한 실행 이름을 생성합니다.

      참고

      Step Functions를 사용하면 비 ASCII 문자가 포함된 상태 시스템, 실행, 활동 및 레이블 이름을 만들 수 있습니다. 이러한 비 ASCII 이름은 Amazon에서 사용할 수 없습니다. CloudWatch CloudWatch 지표를 추적할 수 있도록 하려면 ASCII 문자만 사용하는 이름을 선택하십시오.

    2. (선택 사항) 입력 상자에 입력 값을 JSON 형식으로 입력하여 워크플로를 실행합니다.

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

    4. Step Functions 콘솔은 실행 ID가 제목인 페이지로 이동합니다. 이 페이지를 실행 세부 정보 페이지라고 합니다. 실행이 진행되는 동안 또는 완료된 후에 이 페이지에서 실행 결과를 검토할 수 있습니다.

      실행 결과를 검토하려면 그래프 보기에서 개별 상태를 선택한 다음 단계 세부 정보 창에서 개별 탭을 선택하여 입력, 출력 및 정의가 포함된 각 상태의 세부 정보를 각각 봅니다. 실행 세부 정보 페이지에서 볼 수 있는 실행 정보에 대한 자세한 내용은 실행 세부 정보 페이지 - 인터페이스 개요 섹션을 참조하세요.

    실행 입력 및 출력을 side-by-side 보려면 실행 입력 및 출력을 선택합니다. 출력에서 Map 상태가 반환한 출력 배열을 봅니다. 다음은 출력 배열의 예제입니다.

    [ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]