There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.
Code examples for Step Functions using AWS SDKs
The following code examples show you how to use AWS Step Functions with an AWS software development kit (SDK).
Basics are code examples that show you how to perform the essential operations within a service.
Actions are code excerpts from larger programs and must be run in context. While actions
show you how to call individual service functions, you can see actions in context in their related scenarios.
Scenarios are code examples that show you how to accomplish specific tasks by
calling multiple functions within a service or combined with other AWS services.
Get started
The following code examples show how to get started using Step Functions.
- .NET
-
- AWS SDK for .NET
-
namespace StepFunctionsActions;
using Amazon.StepFunctions;
using Amazon.StepFunctions.Model;
public class HelloStepFunctions
{
static async Task Main()
{
var stepFunctionsClient = new AmazonStepFunctionsClient();
Console.Clear();
Console.WriteLine("Welcome to AWS Step Functions");
Console.WriteLine("Let's list up to 10 of your state machines:");
var stateMachineListRequest = new ListStateMachinesRequest { MaxResults = 10 };
// Get information for up to 10 Step Functions state machines.
var response = await stepFunctionsClient.ListStateMachinesAsync(stateMachineListRequest);
if (response.StateMachines.Count > 0)
{
response.StateMachines.ForEach(stateMachine =>
{
Console.WriteLine($"State Machine Name: {stateMachine.Name}\tAmazon Resource Name (ARN): {stateMachine.StateMachineArn}");
});
}
else
{
Console.WriteLine("\tNo state machines were found.");
}
}
}
- Java
-
- SDK for Java 2.x
-
Java version of Hello.
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sfn.SfnClient;
import software.amazon.awssdk.services.sfn.model.ListStateMachinesResponse;
import software.amazon.awssdk.services.sfn.model.SfnException;
import software.amazon.awssdk.services.sfn.model.StateMachineListItem;
import java.util.List;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class ListStateMachines {
public static void main(String[] args) {
Region region = Region.US_EAST_1;
SfnClient sfnClient = SfnClient.builder()
.region(region)
.build();
listMachines(sfnClient);
sfnClient.close();
}
public static void listMachines(SfnClient sfnClient) {
try {
ListStateMachinesResponse response = sfnClient.listStateMachines();
List<StateMachineListItem> machines = response.stateMachines();
for (StateMachineListItem machine : machines) {
System.out.println("The name of the state machine is: " + machine.name());
System.out.println("The ARN value is : " + machine.stateMachineArn());
}
} catch (SfnException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- Kotlin
-
- SDK for Kotlin
-
import aws.sdk.kotlin.services.sfn.SfnClient
import aws.sdk.kotlin.services.sfn.model.ListStateMachinesRequest
/**
Before running this Kotlin code example, set up your development environment,
including your credentials.
For more information, see the following documentation topic:
https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/setup.html
*/
suspend fun main() {
println(DASHES)
println("Welcome to the AWS Step Functions Hello example.")
println("Lets list up to ten of your state machines:")
println(DASHES)
listMachines()
}
suspend fun listMachines() {
SfnClient { region = "us-east-1" }.use { sfnClient ->
val response = sfnClient.listStateMachines(ListStateMachinesRequest {})
response.stateMachines?.forEach { machine ->
println("The name of the state machine is ${machine.name}")
println("The ARN value is ${machine.stateMachineArn}")
}
}
}
- Python
-
- SDK for Python (Boto3)
-
import boto3
def hello_stepfunctions(stepfunctions_client):
"""
Use the AWS SDK for Python (Boto3) to create an AWS Step Functions client and list
the state machines in your account. This list might be empty if you haven't created
any state machines.
This example uses the default settings specified in your shared credentials
and config files.
:param stepfunctions_client: A Boto3 Step Functions Client object.
"""
print("Hello, Step Functions! Let's list up to 10 of your state machines:")
state_machines = stepfunctions_client.list_state_machines(maxResults=10)
for sm in state_machines["stateMachines"]:
print(f"\t{sm['name']}: {sm['stateMachineArn']}")
if __name__ == "__main__":
hello_stepfunctions(boto3.client("stepfunctions"))