hands-on lab

Reacting to CodeCommit Events with AWS Lambda

Up to 2h
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

AWS CodeCommit lets you host private Git repositories within the AWS ecosystem. It is secure, highly-scalable, and fully compatible with traditional Git tools.

You can configure CodeCommit to trigger actions when events happen such as:

  • Pushing new code
  • Creating new branches
  • Creating tags
  • Merging branches

This allows you to send notifications, integrate with third-party services, or implement custom logic.

In this lab, you will learn how to process CodeCommit events with a Lambda function. As a simple example, you will use Python to create custom SNS notifications, containing useful information about branches and messages for each commit.

Learning Objectives

Upon completion of this lab you will be able to:

  • Create a CodeCommit repository
  • Create an SNS topic and a subscription
  • Implement a Lambda function to process your CodeCommit events
  • Test that your Lambda function processes events and sends a notification

Intended Audience

  • Developers
  • Cloud Engineers


You should have a conceptual understanding of source control.

This lab involves sending email notifications, you will need an email address you can check to complete the lab.

Familiarity with the following will be beneficial but is not required:

  • Python programming language
  • Linux command-line
  • Publish/Subscribe asynchronous messaging 

The following courses can be used to fulfill the prerequisites:


January 10th, 2022 - Corrected grammatical error

November 15th, 2021 - Added a reminder to ensure the correct region is used

March 9th, 2021 - Updated AWS Lambda lab steps to reflect latest user interface updates

January 22nd, 2021 - Updated AWS Lambda lab steps to reflect latest user interface updates

June 3rd, 2020 - All screenshots and instructions updated

January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

Environment before

Environment after

About the author
Learning paths

Andrew is a Labs Developer with previous experience in the Internet Service Provider, Audio Streaming, and CryptoCurrency industries. He has also been a DevOps Engineer and enjoys working with CI/CD and Kubernetes.

He holds multiple AWS certifications including Solutions Architect Associate and Professional.

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Creating a New CodeCommit Repository
Creating an SNS Topic and a Subscription
Implementing a Lambda Function to Process CodeCommit Events
Connecting to the Virtual Machine using EC2 Instance Connect
Testing the CodeCommit Trigger