Step Functions용 Amazon States 언어 워크플로의 상태 시스템 구조 - AWS Step Functions

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

Step Functions용 Amazon States 언어 워크플로의 상태 시스템 구조

상태 머신은 다음 필드를 포함하는 구조를 나타내는 JSON 텍스트를 사용하여 정의됩니다.

Comment(선택 사항)

육안으로 읽을 수 있는 머신 상태 설명입니다.

StartAt(필수)

상태 객체 중 하나의 이름과 대/소문자를 포함하여 정확하게 일치해야 하는 문자열입니다.

TimeoutSeconds(선택 사항)

상태 시스템이 시작할 수 있는 실행의 최대 시간(초)입니다. 지정된 시간보다 오래 실행될 경우 실행이 실패하고 States.Timeout 오류 이름이 표시됩니다.

Version(선택 사항)

상태 시스템에 사용되는 Amazon States Language의 버전입니다(기본값: "1.0").

States(필수)

쉼표로 구분된 상태 집합을 포함하는 객체입니다.

States 필드에는 다음과 같은 상태가 포함됩니다.

{ "State1" : { }, "State2" : { }, ... }

상태 시스템은 상태 시스템에 들어 있는 상태 및 상태 간 관계에 의해 정의됩니다.

다음은 예입니다.

{ "Comment": "A Hello World example of the Amazon States Language using a Pass state", "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Pass", "Result": "Hello World!", "End": true } } }

상태 시스템 실행이 시작되면 StartAt 필드("HelloWorld")에서 참조하는 상태로 시스템이 시작됩니다. 이 상태에 "End": true 필드가 있으면 실행이 중지되고 결과가 반환됩니다. 그렇지 않으면 시스템에서 "Next": 필드를 찾고 해당 상태로 다음 작업을 계속합니다. 터미널 상태("Type": "Succeed", "Type": "Fail" 또는 "End": true인 상태)에 도달하거나 런타임 오류가 발생할 때까지 이 프로세스가 반복됩니다.

상태 시스템 내 상태에는 다음 규칙이 적용됩니다.

  • 상태는 닫힌 블록 내에서 어느 순서로든 발생할 수 있지만 상태가 나열된 순서가 실행 순서에 영향을 미치지 않습니다. 상태의 내용에 따라 이 순서가 결정됩니다.

  • 하나의 상태 시스템 내에서 하나의 상태만 start 상태로 지정되어 있을 수 있습니다. 이 상태는 최상위 구조의 StartAt 필드 값에 따라 지정됩니다. 이 상태는 실행이 시작될 때 제일 먼저 실행되는 상태입니다.

  • End 필드가 true인 상태는 end(또는 terminal) 상태로 간주됩니다. 상태 시스템 논리에 따라(예: 상태 시스템에 실행 브랜치가 여러 개 있는 경우) end 상태가 하나 이상 있을 수도 있습니다.

  • 상태 시스템이 하나의 상태로만 구성되어 있는 경우 start 상태 및 end 상태가 모두 될 수 있습니다.

워크플로의 공통 상태 필드

다음 필드는 모든 상태 요소에 공통입니다.

Type(필수)

상태의 유형입니다.

Next

현재 상태가 종료될 때 실행되는 다음 상태의 이름입니다. Choice와 같은 일부 상태 유형에서는 여러 개의 전환 상태를 허용합니다.

현재 상태가 워크플로의 마지막 상태이거나 워크플로 상태 성공 또는 실패 워크플로 상태과 같은 터미널 상태인 경우 Next 필드를 지정할 필요가 없습니다.

End

true로 설정하면 이 상태가 터미널 상태(실행을 끝냄)로 지정됩니다. 상태 시스템마다 터미널 상태의 수에는 제한이 없습니다. 한 상태에서는 Next 또는 End 중 하나만 사용될 수 있습니다. 일부 상태 유형(예: Choice) 또는 터미널 상태(예: 워크플로 상태 성공실패 워크플로 상태)는 End 필드를 지원하거나 사용하지 않습니다.

Comment(선택 사항)

육안으로 읽을 수 있는 상태 설명이 들어 있습니다.

InputPath(선택 사항)

처리를 위해 상태 작업에 전달되도록 상태의 입력 부분을 선택하는 경로입니다. 생략하는 경우, 전체 입력을 지정하는 $ 값이 지정됩니다. 자세한 내용은 입/출력 처리를 참조하십시오.

OutputPath(선택 사항)

다음 상태에 전달할 상태 출력 부분을 선택하는 경로입니다. 생략하면 전체 출력을 지정하는 $ 값이 지정됩니다. 자세한 내용은 입/출력 처리를 참조하십시오.