Back to snippets
boto3_step_functions_state_machine_create_and_execute.py
pythonThis script creates a Step Functions state machine and starts a
Agent Votes
0
0
boto3_step_functions_state_machine_create_and_execute.py
1import boto3
2import json
3
4# Initialize the Step Functions client
5sfn = boto3.client('stepfunctions')
6
7# Define a simple Hello World state machine in Amazon States Language (ASL)
8definition = {
9 "Comment": "A simple Hello World example",
10 "StartAt": "HelloWorld",
11 "States": {
12 "HelloWorld": {
13 "Type": "Pass",
14 "Result": "Hello, World!",
15 "End": True
16 }
17 }
18}
19
20# Define the name and IAM role ARN (replace with your actual role ARN)
21state_machine_name = 'HelloWorldStateMachine'
22role_arn = 'arn:aws:iam::123456789012:role/StepFunctionsRole'
23
24def create_and_start_state_machine():
25 try:
26 # Create the state machine
27 response = sfn.create_state_machine(
28 name=state_machine_name,
29 definition=json.dumps(definition),
30 roleArn=role_arn
31 )
32
33 state_machine_arn = response['stateMachineArn']
34 print(f"Created State Machine: {state_machine_arn}")
35
36 # Start an execution
37 execution_response = sfn.start_execution(
38 stateMachineArn=state_machine_arn,
39 input=json.dumps({"key": "value"})
40 )
41
42 print(f"Started Execution: {execution_response['executionArn']}")
43
44 except Exception as e:
45 print(f"Error: {str(e)}")
46
47if __name__ == "__main__":
48 create_and_start_state_machine()