How Step Functions works
Last updated
Was this helpful?
Last updated
Was this helpful?
Note If 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.
Note If 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.
Note
Numbers in JSON text format conform to JavaScript semantics. These numbers typically correspond to double-precision values. The following is valid JSON text: standalone, quote-delimited strings; objects; arrays; numbers; Boolean values; and null
. The output of a state becomes the input into the next state. However, you can restrict states to working on a subset of the input data by using .
Tip Use the to test JSON path syntax, to better understand how data is manipulated within a state, and to see how data is passed between states.
Note
Unhandled errors in Lambda are reported as Lambda.Unknown
in the error output. These include out-of-memory errors and function timeouts. You can match on Lambda.Unknown
, States.ALL
, or States.TaskFailed
to handle these errors. When Lambda hits the maximum number of invocations, the error is Lambda.TooManyRequestsException
. For more information about Lambda function errors, see in the AWS Lambda Developer Guide.
Note Retries are treated as state transitions. For information about how state transitions affect billing, see .
Note Each catcher can specify multiple errors to handle.
Note
If you don't specify the ResultPath
field, it defaults to $
, which selects and overwrites the entire input.
Note When you create this Lambda function in the Lambda console, remember to change the Timeout value in the Advanced settings section from 3 seconds (default) to 11 seconds.
Note As a best practice, tasks that reference a Lambda function should handle Lambda service exceptions. For more information, see .
Note
You can preserve the state input and the error by using ResultPath
. See .
Note To manage tags for activites, see .