DescribeExecution - AWS Step Functions

DescribeExecution

Provides information about a state machine execution, such as the state machine associated with the execution, the execution input and output, and relevant execution metadata. If you've redriven an execution, you can use this API action to return information about the redrives of that execution. In addition, you can use this API action to return the Map Run Amazon Resource Name (ARN) if the execution was dispatched by a Map Run.

If you specify a version or alias ARN when you call the StartExecution API action, DescribeExecution returns that ARN.

Note

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

Executions of an EXPRESS state machine aren't supported by DescribeExecution unless a Map Run dispatched them.

Request Syntax

{ "executionArn": "string", "includedData": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

executionArn

The Amazon Resource Name (ARN) of the execution to describe.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Required: Yes

includedData

If your state machine definition is encrypted with a AWS KMS key, callers must have kms:Decrypt permission to decrypt the definition. Alternatively, you can call DescribeStateMachine API with includedData = METADATA_ONLY to get a successful response without the encrypted definition.

Type: String

Valid Values: ALL_DATA | METADATA_ONLY

Required: No

Response Syntax

{ "cause": "string", "error": "string", "executionArn": "string", "input": "string", "inputDetails": { "included": boolean }, "mapRunArn": "string", "name": "string", "output": "string", "outputDetails": { "included": boolean }, "redriveCount": number, "redriveDate": number, "redriveStatus": "string", "redriveStatusReason": "string", "startDate": number, "stateMachineAliasArn": "string", "stateMachineArn": "string", "stateMachineVersionArn": "string", "status": "string", "stopDate": number, "traceHeader": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

cause

The cause string if the state machine execution failed.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 32768.

error

The error string if the state machine execution failed.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 256.

executionArn

The Amazon Resource Name (ARN) that identifies the execution.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

input

The string that contains the JSON input data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

Type: String

Length Constraints: Maximum length of 262144.

inputDetails

Provides details about execution input or output.

Type: CloudWatchEventsExecutionDataDetails object

mapRunArn

The Amazon Resource Name (ARN) that identifies a Map Run, which dispatched this execution.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2000.

name

The name of the execution.

A name must not contain:

  • white space

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters " # % \ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 80.

output

The JSON output data of the execution. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

Note

This field is set only if the execution succeeds. If the execution fails, this field is null.

Type: String

Length Constraints: Maximum length of 262144.

outputDetails

Provides details about execution input or output.

Type: CloudWatchEventsExecutionDataDetails object

redriveCount

The number of times you've redriven an execution. If you have not yet redriven an execution, the redriveCount is 0. This count is only updated if you successfully redrive an execution.

Type: Integer

redriveDate

The date the execution was last redriven. If you have not yet redriven an execution, the redriveDate is null.

The redriveDate is unavailable if you redrive a Map Run that starts child workflow executions of type EXPRESS.

Type: Timestamp

redriveStatus

Indicates whether or not an execution can be redriven at a given point in time.

  • For executions of type STANDARD, redriveStatus is NOT_REDRIVABLE if calling the RedriveExecution API action would return the ExecutionNotRedrivable error.

  • For a Distributed Map that includes child workflows of type STANDARD, redriveStatus indicates whether or not the Map Run can redrive child workflow executions.

  • For a Distributed Map that includes child workflows of type EXPRESS, redriveStatus indicates whether or not the Map Run can redrive child workflow executions.

    You can redrive failed or timed out EXPRESS workflows only if they're a part of a Map Run. When you redrive the Map Run, these workflows are restarted using the StartExecution API action.

Type: String

Valid Values: REDRIVABLE | NOT_REDRIVABLE | REDRIVABLE_BY_MAP_RUN

redriveStatusReason

When redriveStatus is NOT_REDRIVABLE, redriveStatusReason specifies the reason why an execution cannot be redriven.

  • For executions of type STANDARD, or for a Distributed Map that includes child workflows of type STANDARD, redriveStatusReason can include one of the following reasons:

    • State machine is in DELETING status.

    • Execution is RUNNING and cannot be redriven.

    • Execution is SUCCEEDED and cannot be redriven.

    • Execution was started before the launch of RedriveExecution.

    • Execution history event limit exceeded.

    • Execution has exceeded the max execution time.

    • Execution redrivable period exceeded.

  • For a Distributed Map that includes child workflows of type EXPRESS, redriveStatusReason is only returned if the child workflows are not redrivable. This happens when the child workflow executions have completed successfully.

Type: String

Length Constraints: Maximum length of 262144.

startDate

The date the execution is started.

Type: Timestamp

stateMachineAliasArn

The Amazon Resource Name (ARN) of the state machine alias associated with the execution. The alias ARN is a combination of state machine ARN and the alias name separated by a colon (:). For example, stateMachineARN:PROD.

If you start an execution from a StartExecution request with a state machine version ARN, this field will be null.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

stateMachineArn

The Amazon Resource Name (ARN) of the executed stated machine.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

stateMachineVersionArn

The Amazon Resource Name (ARN) of the state machine version associated with the execution. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

If you start an execution from a StartExecution request without specifying a state machine version or alias ARN, Step Functions returns a null value.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

status

The current status of the execution.

Type: String

Valid Values: RUNNING | SUCCEEDED | FAILED | TIMED_OUT | ABORTED | PENDING_REDRIVE

stopDate

If the execution ended, the date the execution stopped.

Type: Timestamp

traceHeader

The AWS X-Ray trace header that was passed to the execution.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 256.

Pattern: \p{ASCII}*

Errors

For information about the errors that are common to all actions, see Common Errors.

ExecutionDoesNotExist

The specified execution does not exist.

HTTP Status Code: 400

InvalidArn

The provided Amazon Resource Name (ARN) is not valid.

HTTP Status Code: 400

KmsAccessDeniedException

Either your AWS KMS key policy or API caller does not have the required permissions.

HTTP Status Code: 400

KmsInvalidStateException

The AWS KMS key is not in valid state, for example: Disabled or Deleted.

HTTP Status Code: 400

KmsThrottlingException

Received when AWS KMS returns ThrottlingException for a AWS KMS call that Step Functions makes on behalf of the caller.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: