This document contains information about the Step Functions service supported in Handel. This Handel service provisions Step Functions state machine resources to provide an application workflow.
This service does not yet support Step Functions activity resources. Task resources are limited to Lambda functions.
|type||string||Yes||This must always be stepfunctions for this service type.|
|definition||State Machine Definition||Yes||Path to file containing state machine definition.|
State Machine Definition¶
For the most part, the definition file you provide in the definition section is in Amazon States Language. Instead of providing an ARN in the ‘Resource’ field of a state, however, one should give the service name from the Handel file.
For convenience, Handel supports both JSON and YAML formats for the definition file, where pure States Language is based on JSON alone.
A definition file could look something like this:
StartAt: FooState States: FooState: Type: Task Resource: foo # service name Next: BarState BarState: Type: Task Resource: bar # service name End: true
Example Handel File¶
version: 1 name: my-state-machine environments: prd: foo: type: lambda path_to_code: foo/ handler: lambda_function.lambda_handler runtime: python3.6 bar: type: lambda path_to_code: bar/ handler: lambda_function.lambda_handler runtime: python3.6 machine: type: step_functions definition: state_machine.yml # definition file dependencies: - foo - bar
Depending on this service¶
The Lambda service outputs the following environment variables:
|<SERVICE_NAME>_STATE_MACHINE_NAME||The name of the created Step Functions state machine|
|<SERVICE_NAME>_STATE_MACHINE_ARN||The ARN of the created Step Functions state machine|
See Environment Variable Names for information about how the service name is included in the environment variable name.
Events produced by this service¶
The Step Functions service does not produce events for other Handel services to consume.
Events consumed by this service¶
The Step Functions service does not consume events from other Handel services.