This page was generated from content adapted from the following sources
Step Functions Basics
Step Functions Tips
Step Functions Gotchas and Limitations
- A variety of structures are supported including branching, parallel operations and waits
- Tasks represent the real work nodes and are frequently Lambda functions, but can be Activities which are externally driven tasks implemented any way you like.
- State machines have data that "flows" through the steps and can be modified and added to as the state machine executes.
- It's best if your tasks are idempotent, in part because you may want to re-run the state machine with the same input data during debugging
- The AWS Console facilitates your examining the execution state at various steps.
- The console lets you do this with a few steps:
- select the "input" tab from the failed execution
- copy the input data (JSON)
- select the state machine name in the breadcrumbs
- start a new execution, pasting the input data you copied previously
- Step Functions are free tier eligible up to an initial 4000 transitions per month. Thereafter, the charge is $0.025 per 1000 state transitions.
- You can have many, simultaneous, executions, but be aware of lambda throttling limits. This has been per-account, pre-region, but recently became settable per-lambda.
- Step Function executions are limited to 25,000 events. Each step creates multiple events. This means that iterating a loop using Lambda is limited to an iteration count of around 3000 before needing to continue as a new execution.