SfnClient
Step Functions
Step Functions coordinates the components of distributed applications and microservices using visual workflows.
You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.
Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on Amazon Web Services, your own servers, or any system that has access to Amazon Web Services. You can access and use Step Functions using the console, the Amazon Web Services SDKs, or an HTTP API. For more information about Step Functions, see the Step Functions Developer Guide.
If you use the Step Functions API actions using Amazon Web Services SDK integrations, make sure the API actions are in camel case and parameter names are in Pascal case. For example, you could use Step Functions API action startSyncExecution
and specify its parameter as StateMachineArn
.
Functions
Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to Step Functions. Activities must poll Step Functions using the GetActivityTask
API action and respond using SendTask*
API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.
Creates a state machine. A state machine consists of a collection of states that can do work (Task
states), determine to which states to transition next (Choice
states), stop an execution with an error (Fail
states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the Step Functions User Guide.
Deletes an activity.
Deletes a state machine. This is an asynchronous operation. It sets the state machine's status to DELETING
and begins the deletion process. A state machine is deleted only when all its executions are completed. On the next state transition, the state machine's executions are terminated.
Deletes a state machine alias.
Describes an activity.
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.
Provides information about a Map Run's configuration, progress, and results. If you've redriven a Map Run, this API action also returns information about the redrives of that Map Run. For more information, see Examining Map Run in the Step Functions Developer Guide.
Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration.
Returns details about a state machine alias.
Provides information about a state machine's definition, its execution role ARN, and configuration. If a Map Run dispatched the execution, this action returns the Map Run Amazon Resource Name (ARN) in the response. The state machine returned is the state machine associated with the Map Run.
Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken
with a null string.
Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp
of the events. Use the reverseOrder
parameter to get the latest events first.
Lists the existing activities.
Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN. Using this API action, you can also list all redriven executions.
Lists all Map Runs that were started by a given state machine execution. Use this API action to obtain Map Run ARNs, and then call DescribeMapRun
to obtain more information, if needed.
Lists aliases for a specified state machine ARN. Results are sorted by time, with the most recently created aliases listed first.
Lists the existing state machines.
Lists versions for the specified state machine Amazon Resource Name (ARN).
List tags for a given resource.
Creates a version from the current revision of a state machine. Use versions to create immutable snapshots of your state machine. You can start executions from versions either directly or with an alias. To create an alias, use CreateStateMachineAlias.
Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt.
Used by activity workers and Task states using the callback pattern, and optionally Task states using the job run pattern to report to Step Functions that the task represented by the specified taskToken
is still making progress. This action resets the Heartbeat
clock. The Heartbeat
threshold is specified in the state machine's Amazon States Language definition (HeartbeatSeconds
). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ActivityTimedOut
entry for activities, or a TaskTimedOut
entry for tasks using the job run or callback pattern.
Starts a state machine execution.
Starts a Synchronous Express state machine execution. StartSyncExecution
is not available for STANDARD
workflows.
Stops an execution.
Add a tag to a Step Functions resource.
Accepts the definition of a single state and executes it. You can test a state without creating a state machine or updating an existing state machine. Using this API, you can test the following:
Remove a tag from a Step Functions resource
Updates an in-progress Map Run's configuration to include changes to the settings that control maximum concurrency and Map Run failure.
Updates an existing state machine by modifying its definition
, roleArn
, loggingConfiguration
, or EncryptionConfiguration
. Running executions will continue to use the previous definition
and roleArn
. You must include at least one of definition
or roleArn
or you will receive a MissingRequiredParameter
error.
Updates the configuration of an existing state machine alias by modifying its description
or routingConfiguration
.
Validates the syntax of a state machine definition specified in Amazon States Language (ASL), a JSON-based, structured language.
Inherited functions
Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to Step Functions. Activities must poll Step Functions using the GetActivityTask
API action and respond using SendTask*
API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.
Creates a state machine. A state machine consists of a collection of states that can do work (Task
states), determine to which states to transition next (Choice
states), stop an execution with an error (Fail
states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the Step Functions User Guide.
Deletes an activity.
Deletes a state machine. This is an asynchronous operation. It sets the state machine's status to DELETING
and begins the deletion process. A state machine is deleted only when all its executions are completed. On the next state transition, the state machine's executions are terminated.
Deletes a state machine alias.
Describes an activity.
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.
Provides information about a Map Run's configuration, progress, and results. If you've redriven a Map Run, this API action also returns information about the redrives of that Map Run. For more information, see Examining Map Run in the Step Functions Developer Guide.
Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration.
Returns details about a state machine alias.
Provides information about a state machine's definition, its execution role ARN, and configuration. If a Map Run dispatched the execution, this action returns the Map Run Amazon Resource Name (ARN) in the response. The state machine returned is the state machine associated with the Map Run.
Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken
with a null string.
Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp
of the events. Use the reverseOrder
parameter to get the latest events first.
Paginate over GetExecutionHistoryResponse results.
Lists the existing activities.
Paginate over ListActivitiesResponse results.
Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN. Using this API action, you can also list all redriven executions.
Paginate over ListExecutionsResponse results.
Lists all Map Runs that were started by a given state machine execution. Use this API action to obtain Map Run ARNs, and then call DescribeMapRun
to obtain more information, if needed.
Paginate over ListMapRunsResponse results.
Lists aliases for a specified state machine ARN. Results are sorted by time, with the most recently created aliases listed first.
Lists the existing state machines.
Paginate over ListStateMachinesResponse results.
Lists versions for the specified state machine Amazon Resource Name (ARN).
List tags for a given resource.
Creates a version from the current revision of a state machine. Use versions to create immutable snapshots of your state machine. You can start executions from versions either directly or with an alias. To create an alias, use CreateStateMachineAlias.
Restarts unsuccessful executions of Standard workflows that didn't complete successfully in the last 14 days. These include failed, aborted, or timed out executions. When you redrive an execution, it continues the failed execution from the unsuccessful step and uses the same input. Step Functions preserves the results and execution history of the successful steps, and doesn't rerun these steps when you redrive an execution. Redriven executions use the same state machine definition and execution ARN as the original execution attempt.
Used by activity workers and Task states using the callback pattern, and optionally Task states using the job run pattern to report to Step Functions that the task represented by the specified taskToken
is still making progress. This action resets the Heartbeat
clock. The Heartbeat
threshold is specified in the state machine's Amazon States Language definition (HeartbeatSeconds
). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ActivityTimedOut
entry for activities, or a TaskTimedOut
entry for tasks using the job run or callback pattern.
Starts a state machine execution.
Starts a Synchronous Express state machine execution. StartSyncExecution
is not available for STANDARD
workflows.
Stops an execution.
Add a tag to a Step Functions resource.
Accepts the definition of a single state and executes it. You can test a state without creating a state machine or updating an existing state machine. Using this API, you can test the following:
Remove a tag from a Step Functions resource
Updates an in-progress Map Run's configuration to include changes to the settings that control maximum concurrency and Map Run failure.
Updates an existing state machine by modifying its definition
, roleArn
, loggingConfiguration
, or EncryptionConfiguration
. Running executions will continue to use the previous definition
and roleArn
. You must include at least one of definition
or roleArn
or you will receive a MissingRequiredParameter
error.
Updates the configuration of an existing state machine alias by modifying its description
or routingConfiguration
.
Validates the syntax of a state machine definition specified in Amazon States Language (ASL), a JSON-based, structured language.
Create a copy of the client with one or more configuration values overridden. This method allows the caller to perform scoped config overrides for one or more client operations.