General troubleshooting - Amazon Step Functions
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

General troubleshooting

I'm unable to create a state machine.

The IAM role associated with the state machine might not have sufficient permissions. Check the IAM role's permissions, including for Amazon service integration tasks, X-Ray, and CloudWatch logging. Additional permissions are required for .sync task states.

I'm unable to use a JsonPath to reference the previous task’s output.

For a JsonPath, a JSON key must end with .$. This means a JsonPath can only be used in a key-value pair. If you want to use a JsonPath other places, such as an array, you can use intrinsic functions. For example, you could use something similar to the following:

Task A output:

{ "sample": "test" }

Task B:

{ "JsonPathSample.$": "$.sample" }

Use the data flow simulator in the Step Functions console to test JSON path syntax, to better understand how data is manipulated within a state, and to see how data is passed between states.

There was a delay in state transitions.

For standard workflows, there is a limit on the number of state transitions. When you exceed the state transition limit, Step Functions delays state transitions until the bucket for the quota is filled. State transition limit throttling can be monitored by reviewing the StateTransition metric in the Dimension for Step Functions Service Metrics section of the CloudWatch Metrics page.

When I start new Standard Workflow executions, they fail with the ExecutionLimitExceeded error.

Step Functions has a limit of 1,000,000 open executions for each Amazon account. If you exceed this limit, Step Functions throws an ExecutionLimitExceeded error. This limit does not apply to Express Workflows. You can use the following CloudWatch Metrics math to approximate the number of open executions: ExecutionsStarted - (ExecutionsSucceeded + ExecutionsTimedOut + ExecutionsFailed + ExecutionsAborted).

A failure on one branch in a parallel state causes the whole execution to fail.

This is an expected behavior. To avoid encountering failures when using a parallel state, configure Step Functions to catch errors thrown from each branch.