Amazon States Language를 사용하여 Step Functions 워크플로 정의
Amazon States Language는 작업을 수행할 수 있는 상태 머신(상태 모음)을 정의하거나(Task 상태) 다음으로 전환할 상태를 결정하거나(Choice 상태) 오류를 표시하면서 실행을 중지하는(Fail 상태) 데 사용되는 JSON 기반의 구조화된 언어입니다.
자세한 내용은 Amazon States Language Specification
Amazon States Language를 사용하여 Step Functions 콘솔
참고
선택한 편집기와 같이 Step Functions 콘솔 외부에서 상태 머신을 정의하는 경우 상태 머신 정의를 .asl.json 확장명으로 저장해야 합니다.
Amazon States Language 사양 예제(JSONata)
{
"Comment": "An example of the Amazon States Language using a choice state.",
"QueryLanguage": "JSONata",
"StartAt": "FirstState",
"States": {
"FirstState": {
"Type": "Task",
"Assign": {
"foo" : "{% $states.input.foo_input %}"
},
"Resource": "arn:aws:lambda:region:123456789012:function:FUNCTION_NAME",
"Next": "ChoiceState"
},
"ChoiceState": {
"Type": "Choice",
"Default": "DefaultState",
"Choices": [
{
"Next": "FirstMatchState",
"Condition": "{% $foo = 1 %}"
},
{
"Next": "SecondMatchState",
"Condition": "{% $foo = 2 %}"
}
]
},
"FirstMatchState": {
"Type" : "Task",
"Resource": "arn:aws:lambda:region:123456789012:function:OnFirstMatch",
"Next": "NextState"
},
"SecondMatchState": {
"Type" : "Task",
"Resource": "arn:aws:lambda:region:123456789012:function:OnSecondMatch",
"Next": "NextState"
},
"DefaultState": {
"Type": "Fail",
"Error": "DefaultStateError",
"Cause": "No Matches!"
},
"NextState": {
"Type": "Task",
"Resource": "arn:aws:lambda:region:123456789012:function:FUNCTION_NAME",
"End": true
}
}
}