The Amazon States Language is a JSON-based, structured language used to define your state machine, a collection of states, that can do work (Task
states), determine which states to transition to next (Choice
states), stop an execution with an error (Fail
states), and so on.
For more information, see the Amazon States Language Specification and Statelint, a tool that validates Amazon States Language code.
To create a state machine on the Step Functions console using Amazon States Language, see Getting Started.
NoteIf you define your state machines outside the Step Functions' console, such as in an editor of your choice, you must save your state machine definitions with the extension .asl.json.
Example Amazon States Language Specification (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
}
}
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4