Creating Your Own Serverless Reminder on AWS with Step Functions, API Gateway, Lambda, and S3

1.75 hours
  • 4 Learning Objectives

About this Hands-on Lab

In this hands-on lab, you will interact with several AWS services (including AWS Step Functions, API Gateway, AWS Lambda, and S3) to create a reminder serverless application using a static website hosted on S3. You will also integrate the SNS and SES services into your code (but don’t worry — we will walk through it all together). By the end of this lab, you should feel comfortable developing applications that rely on multiple AWS services. This also provides you with an opportunity to prove your knowledge and skills integrating multiple AWS services.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create Three Lambda Functions

Create the sms, email, and api_handler Lambda functions in the AWS console:

  • Navigate to the Lambda portion of the AWS console.
  • Create a function.
  • Select Python3.7 and the existing role for the function.
  • Copy code from the GitHub link for the function you are creating: Create the sms, email, and api_handler Lambda functions in the AWS console.
  • Navigate to the Lambda portion of the AWS console.
  • Create a function.
  • Select Python3.7 and the existing role for the function.
  • Copy code from the GitHub link for the function you are creating: https://github.com/julielkinsfembotit/LALabs.
  • Repeat for sms and email functions
  • For the API handler function go ahead and create the function, but don’t forget to go back and update the SFN_ARN value in the code!
Create a State Machine

Create a Step Functions State Machine using the AWS Console:

  • Navigate to the Step Functions portion of the console
  • Copy the code from the GitHub repository here – https://github.com/julielkinsfembotit/LALabs
  • Remember to make sure you review the code and understand it!
  • Add in the Lambda Function ARNs for the task states of the state machine that require them (make sure to use the appropriate function).
  • Create the state machine!
Create an API Gateway

Create an API Gateway API to integrate with your state machine and your reminder functions:

  • Navigate to the API Gateway Console.
  • Create a new API from scratch (turn on CORS for it too).
  • Create a new resource called reminders.
  • Add a POST method to the reminders resource.
  • Configure the POST method with a Lambda proxy integration and your API handler function.
  • Deploy your API.
  • Copy down the API Gateway API URL for later.
Create a Static Website Hosted in S3

Additional Resources

Make sure you are in us-east-1 when you work in this environment.

You can find all the code used in this learning activity here:

https://github.com/julielkinsfembotit/LALabs

Note: Instead of creating state machines from scratch, you can use the hello world template as a place holder.

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.


$2,495.00

Checkout
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?