-
Notifications
You must be signed in to change notification settings - Fork 68
AWS Step
milowedo edited this page Jun 16, 2020
·
5 revisions
TO DO..
- Invoking Lambdas, s3 etc
- All lambdas can be defined in a consecutive sequence
- Choice options, automatic retries, out of box waits
- Automatic scaling
- Parallel execution
- Time is measured for each step
Amazon Step Functions is a state machine that has a definition of all possible steps and the transitions between them.
State machines are defined using JSON based language called Amazon States Language.
{
"Comment": "Description of the state machine (all comments are optional)",
"StartAt": "first_state",
"States": {
"first_state": {
"Resource": "<ARN to Lambda function which should be executed in this step>",
"Type": "Task",
"Next": "parallel_state"
},
"parallel_state": {
"Type": "Parallel",
"Next": "final_step",
"Branches": [
{
"StartAt": "some_long_step",
"States": {
"some_long_step": {
"Type": "Task",
"Resource": "<ARN to Lambda function which should be executed in this step>",
"End": true
}
}
},
{
"StartAt": "pass",
"States": {
"pass": {
"Type": "Pass",
"Next": "some_other_step"
},
"some_other_step": {
"Type": "Task",
"Resource": "<ARN to Lambda function which should be executed in this step>",
"Next": "wait_10s"
},
"wait_10s": {
"Type": "Wait",
"Seconds": 10,
"End": true
}
}
}
]
},
"final_step": {
"Type": "Pass",
"End": true
}
}
}
The state machine starts in state defined in the StartAt field. Then the system looks for a Next field and continues with the next defined state. This happens until an error occurs or the system encounters the End state.
For more information about syntax of this language, see the Amazon States Language Documentation
- 1MB maximum request payload size - bigger inputs need to be stores in S3
- throttling aws api requests if they come in spikes that floods workflow and hits api limits
- changeable in aws support center, but still:
- number of state machines/account
- number of concurrent executions
- Free tier has 4000 aws step functions/month - always, all accounts
- After that 4k we have 0.025$ per 1000 state transitions