Performing Parallel Execution in AWS Step Functions

1.75 hours
  • 2 Learning Objectives

About this Hands-on Lab

Step functions provide a powerful way to manage the execution of Lambda functions with a serverless pipeline. And we’re not limited to running tasks sequentially. Step functions also allow us to run tasks in parallel.

In this lab, we start with an existing step function definition and update it to include parallel execution of Lambda functions that both feed into the same single Lambda function as a final step.

All the resources for this lab, including a sample audio file, can be found on GitHub:

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Update the Existing Step Functions to Include Parallel Execution
  1. Navigate to the step functions console page. Make sure to use ‘us-east-1’ and select the state machine called ‘lab-step-functions’.

  2. In another browser tab, navigate to the resources for this lab (link in the description) and locate the file called ‘lab-state-parallel.json’. Copy the complete contents of the file into the step functions definition.

  3. In the step function definition, paste the clipboard contents over the following. Note the commas. For clarification, see the videos in this lab.

    "success": {
        "Type": "Pass",
        "End": true
  4. Fix the validation error:

    • Update the value of "Next":"success" to "Next":"process-transcript"
  5. Refresh the view of the steps in the graphical viewer and check to make sure there are no orphan steps. Then select Save.

Add Three Lambda Functions to the Step Functions Definition

In the following steps, we update the step functions to call one of our new Lambda functions. We then need to repeat these steps for the other two new functions (detailed below):

  1. Navigate to the step functions console page.

  2. Select Generate code snippet, select AWS Lambda, and then select the full ARN for the function named lab-comprehend-wrapper.

  3. Select Copy to clipboard.

  4. In the definition of the step function, locate the state or step called comprehend and replace the placeholder Pass step with the contents of the clipboard. To see this in action watch the videos for the lab.

  5. Fix the validation errors:

    • Update the name of the pasted step back to comprehend.
    • Update the value of the "Next" attribute to "End": true
  6. Save and repeat these steps for:

    • The translate step, with the function lab-translate-wrapper.
    • The polly step, with the function lab-polly-wrapper.

Additional Resources


We work for a company that holds meetings in English, with a management team that speaks Spanish. The management team wants an automated system that processes recordings of English meetings and translates them into Spanish. At the same time, the system should let the team know if the sentiment of the meeting was positive, negative, or neutral.

The videos walk through each of the steps, including navigating into the AWS console.

Please make sure to use the us-east-1 region when in the AWS console.

All the resources for this lab, including a sample audio file, can be found on GitHub:

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Get Started
Who’s going to be learning?

How many seats do you need?

  • $499 USD per seat per year
  • Billed Annually
  • Renews in 12 months

Ready to accelerate learning?

For over 25 licenses, a member of our sales team will walk you through a custom tailored solution for your business.


Sign In
Welcome Back!
Thanks for reaching out!

You’ll hear from us shortly. In the meantime, why not check out what our customers have to say about ACG?