Updated July 2026AWS Lambda with Python
Class Duration
14 hours of live training delivered over 2 days.
Student Prerequisites
- Some prior Python experience, such as writing basic scripts, functions, and classes
- Professional programming experience, in Python or another language
- Comfort with the command line and installing developer tools
- No prior AWS Lambda or serverless experience required
Target Audience
- Experienced programmers with some Python experience who are new to AWS Lambda
- Teams adopting serverless Python on AWS who want a fast, practical ramp
- For the Microsoft cloud instead, see Azure Functions with Python
Description
This fast-paced, two-day course is built for experienced programmers who have some Python experience and are new to AWS Lambda. The first part of the course consolidates the modern Python skills that serverless work relies on: its syntax and object model, environments and tooling, functions and type hints, working with data and JSON, and error handling, logging, and testing. Building on that foundation, the course moves to serverless development on AWS Lambda: writing handler functions in Python, wiring them to event sources such as API Gateway, S3, and SQS, packaging code and dependencies, deploying with infrastructure as code, and operating functions in production with logging, tracing, and performance tuning. Because participants already know how to program, the pace stays brisk and the focus stays on what is genuinely different about Python and about building on Lambda.
Learning Outcomes
- Read and write idiomatic Python and apply its object model and core data types.
- Set up Python environments and manage dependencies with modern tooling.
- Use functions, modules, type hints, and dataclasses to structure Python code.
- Work with JSON, files, and HTTP from Python.
- Handle errors, add logging, and write unit tests with pytest.
- Explain the AWS Lambda execution model, runtimes, limits, and pricing.
- Build Python Lambda functions with handlers, events, context, and configuration.
- Connect Lambda functions to event sources such as API Gateway, S3, SQS, and EventBridge.
- Package and deploy Lambda functions using layers, container images, and infrastructure as code.
- Operate Lambda functions with CloudWatch logging, tracing, and performance tuning.
Training Materials
All students receive comprehensive courseware covering all topics in the course. Courseware is distributed via GitHub in the form of documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises.
Software Requirements
Students will need a free, personal GitHub account to access the courseware, a recent Python release, the ability to install Python packages, Visual Studio Code with the ability to install extensions, the AWS CLI, and an AWS account with permission to create Lambda functions and related resources.
Training Topics
Python for Experienced Programmers
- Python syntax and semantics compared to other languages
- Dynamic typing, names, and the object model
- Core data types: lists, tuples, dictionaries, sets, and strings
- Control flow, comprehensions, and iteration
- Writing idiomatic, readable Python
- Installing Python and managing versions
- Virtual environments and dependency management with uv and pip
- Project layout and packaging basics
- Formatting and linting with ruff
- Running and debugging in Visual Studio Code
Functions, Modules, and Type Hints
- Defining functions, arguments, and return values
- Modules, packages, and imports
- Type hints and static checking with mypy
- Dataclasses and structured data
- Docstrings and code organization
Working with Data and JSON
- Dictionaries and JSON serialization
- Reading and writing files
- Parsing and validating input data
- Dates, times, and environment variables
- Making HTTP requests from Python
Errors, Logging, and Testing
- Exceptions and error-handling patterns
- The logging module and structured logs
- Writing unit tests with pytest
- Mocking external services
- Practical debugging techniques
Introduction to AWS Lambda and Serverless
- What serverless computing is and when to use it
- The AWS Lambda execution model
- Supported Python runtimes
- Pricing, limits, and quotas
- Lambda within the AWS ecosystem
Building Lambda Functions in Python
- The handler function, event, and context
- Passing input and returning results
- Environment variables and configuration
- Managing dependencies for Lambda
- Reusing connections and initialization code
Triggers and Event Sources
- API Gateway and HTTP APIs
- S3, DynamoDB, and EventBridge events
- SQS and queue-based processing
- Scheduled invocations
- Understanding event payloads
Packaging and Deployment
- Packaging code and dependencies as zip archives
- Lambda layers for shared dependencies
- Container image based functions
- Infrastructure as code with AWS SAM
- IAM roles and least-privilege permissions
Observability and Operations
- Logging to CloudWatch
- Metrics and alarms
- Tracing with AWS X-Ray
- Error handling, retries, and dead-letter queues
- Cold starts and performance tuning