AWS Step Functions come in two flavours: Standard and Express. They share a definition language called ASL, but a lot of the API operations are not supported across both types. I didn’t find a good side-by-side comparison showing the support for each individual API operation, so I made one. This could help you decide if your Standard workflows could be replaced by Express workflows.

There is a good side-by-side comparison for an overview of the two types of workflow. Understanding those differences helps to explain why certain operations are not supported.

Takeaways

  • Activities and the Callback pattern are not supported.
  • Execution data is not available via the Step Functions API, only via CloudWatch Logs.
  • Thinking of Express workflows as “ASL executed on Lambda” was a decent mental model.
Category Operation Standard Express
State Machine createStateMachine ✅ ✅
  updateStateMachine ✅ ✅
  deleteStateMachine ✅ ✅
  describeStateMachine ✅ ✅
  listStateMachines ✅ ✅
Execution startExecution ✅ ✅
  startSyncExecution ❌ ✅
  stopExecution ✅ ❌
  getExecutionHistory ✅ ❌
  describeExecution ✅ ❌
  listExecutions ✅ ❌
  describeStateMachineForExecution ✅ ❌
Activities createActivity ✅ ❌
  deleteActivity ✅ ❌
  listActivities ✅ ❌
  describeActivity ✅ ❌
  getActivityTask ✅ ❌
Callback sendTaskFailure ✅ ❌
  sendTaskSuccess ✅ ❌
  sendTaskHeartbeat ✅ ❌
Tags tagResource ✅ ✅
  untagResource ✅ ✅
  listTagsForResource ✅ ✅


comments powered by Disqus

ABOUT GRUNDLEFLECK

Graham "Grundlefleck" Allan is a Software Developer living in Scotland. His only credentials as an authority on software are that he has a beard. Most of the time.

© Copyright 2013-2022