Transitions - AWS Step Functions

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

Transitions

새로운 상태 시스템 실행을 시작하면 시스템은 최상위 StartAt 필드에서 참조하는 상태로 시작합니다. 이 필드(문자열로 지정)는 대/소문자를 포함하여 워크플로 상태 이름과 정확하게 일치해야 합니다.

상태를 실행한 후 AWS Step Functions는 Next 필드 값을 사용하여 진행할 다음 상태를 결정합니다.

또한 Next 필드는 상태 이름을 문자열로 지정합니다. 이 문자열은 대소문자를 구분하며 상태 시스템 설명에 지정된 상태 이름과 정확히 일치해야 합니다.

예를 들어 다음 상태에는 NextState에 대한 전환이 포함되어 있습니다.

"SomeState" : { ..., "Next" : "NextState" }

대부분의 상태에서는 Next 필드를 통한 단일 전환 규칙만 허용합니다. 그러나 특정 흐름 제어 상태(예: Choice 상태)를 사용하면 여러 전환 규칙(각각에 자체 Next 필드 포함)을 지정할 수 있습니다. 전환 지정 방법에 대한 자세한 내용을 포함하여 사용자가 지정할 수 있는 각 상태 유형에 대한 자세한 내용은 Amazon States 언어에서 참조할 수 있습니다.

상태에는 다른 상태로부터 들어오는 전환이 여러 개 있을 수 있습니다.

터미널 상태("Type": Succeed, "Type": Fail 또는 "End": true인 상태)에 도달하거나 런타임 오류가 발생할 때까지 프로세스가 반복됩니다.

실행을 redrive하면 상태 전환으로 간주됩니다. 또한 redrive에서 재실행되는 모든 상태도 상태 전환으로 간주됩니다.

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

  • 상태는 둘러싸는 블록 내에서 어떠한 순서로도 발생할 수 있습니다. 그러나 나열된 순서는 실행 순서에는 영향을 미치지 않습니다. 이 순서는 상태의 내용에 따라 결정됩니다.

  • 상태 시스템 내에는 start 상태로 지정된 상태 하나만 있을 수 있습니다. start 상태는 최상위 구조의 StartAt 필드 값으로 정의됩니다.

  • 상태 시스템 논리에 따라(예: 상태 시스템에 논리 브랜치가 여러 개 있는 경우) end 상태 수가 하나를 넘을 수 있습니다.

  • 상태 시스템이 상태 하나로만 구성된 경우 시작 상태와 종료 상태 모두가 될 수 있습니다.

Distributed Map 상태에서 전환

분산 모드에서 Map 상태를 사용하는 경우 Distributed Map 상태가 시작하는 하위 워크플로 실행마다 상태 전환 하나에 대한 요금이 청구됩니다. 인라인 모드에서 Map 상태를 사용하는 경우 Inline Map 상태를 반복할 때마다 상태 전환 요금이 청구되지 않습니다.

분산 모드에서 Map 상태를 사용하여 비용을 최적화하고 Map 상태 정의에 중첩된 워크플로를 포함할 수 있습니다. 또한 Distributed Map 상태Express 유형의 하위 워크플로 실행을 시작할 때 더 많은 가치를 더합니다. Step Functions는 Express 하위 워크플로 실행의 응답과 상태를 저장하므로 CloudWatch Logs에 실행 데이터를 저장할 필요성이 줄어듭니다. 또한 Distributed Map 상태에서 사용할 수 있는 흐름 제어 (예: 오류 임계값 정의 또는 항목 그룹 일괄 처리)에 액세스할 수 있습니다. Step Functions 요금에 대한 자세한 내용은 AWS Step Functions 요금을 참조하세요.