Sessions With SAM
This repo contains all the SAM templates created in the Twitch series #SessionsWithSAM. The show is every Thursday on Twitch at 10 AM PDT.
Episodes
Simple HTTP API with JWT Authorizer
In this episode I build a SAM template for HTTP API with a non-authenticated route and an authenticated route.
Cognito and HTTP API
In this episode I talk through building an Amazon Cognito identity provider for HTTP API and JWT authorization. I also talk through using Cognito user groups as custom scopes for route access.
EventBridge
In this session we build a custom EventBridge bus and an HTTP API endpoint to push data into it. We also add multiple rules to trigger Lambda functions for asynchronous processing.
Building a Kinesis Firehose application for ingesting website access logs
In this session we build an Amazon Kinesis Firehose SAM template for ingesting website access logs from Amazon API Gateway. The data is stored in a raw bucket, processed by a Lambda function, and then stored in a processed bucket as well. During the processing period, the data is also pushed to an Amazon DynamoDB table for real-time analytics.
Analyzing API Gateway access logs using Kinesis
Continuing from session 4, this session adds a Kinesis Data Analytics application to create real-time analytics from API Gateway access logs. The entire application is built using SAM templates and the SAM CLI.
SAM templates for SQS, cross-account queue policies & Lambda event sources
In this session with SAM we build an AWS SAM template for creating an Amazon SQS queue. We also connect the queue as an event source for a Lambda function. Finally we create a queue policy to allow cross account posting to the queue and show how to test it in Postman.
Creating safe linear and canary deploys for Lambda functions
In this session I show how to use SAM to create safe deployments for Lambda functions in serverless applications. I demonstrate linear and canary deployments and how to configure pre and post traffic tests.
SAM templates for HTTP API and REST API custom domains
In this session I create a SAM template that builds a custom domain for API Gateway HTTP APIs and REST APIs. The template generates the hosted zone and ssl cert as well. I also show how to attach the same custom domain to both HTTP API and REST API at the same time.
Managing AWS Step Functions as IaC with SAM
In this episode I am joined by AWS Serverless DA Rob Sutter. Together we talk through the new Step Functions state machine support in AWS SAM.
Creating a Lambda function with an Amazon EFS mounted using SAM
In this episode James Beswick and I talk through configuring Amazon EFS for Lambda functions. This includes configuring EFS in a VOC as well. All by using SAM and SAM CLI.
Using SAM and Stackery to build .Net Lambda functions
In this episode, I am joined by Chase Douglas, Stackery CTO. We talk through using SAM with Stackery to manage .NET Serverless applications.
Using SAM to create and use secrets
In this session we cover using AWS Systems Manager Parameter Store and the AWS Secrets Manager within AWS SAM templates. Using these services helps developers store account specific secrets that are easily utilized by SAM on application creation and updates.
Adding governance to serverless applications with AWS Config and AWS SAM
This session is the first of four on adding governance to serverless application. In this session I demonstrate configuring an account to record and store governance data in AWS Config with AWS SAM.
Using the new HTTP APIs direct integrations in AWS SAM
In this session I will walk through creating a direct service integration on HTTP API. We will cover building it in the console and exporting for use with AWS SAM.
Adding governance to serverless applications with AWS Config and AWS SAM Part 2
This session is the second of four on adding governance to serverless application. In this session I demonstrate configuring AWS managed rules used in AWS Config.
Adding governance to serverless applications with AWS Config and AWS SAM Part 3
This session is the third of four on adding governance to serverless application. In this session I demonstrate building custom rules for AWS Config.
Adding governance to serverless applications with AWS Config and AWS SAM Part 4
This session is the final of four on adding governance to serverless application. In this session I demonstrate making the initial setup template reusable across regions and accounts. I also add aggregates to collect data from multiple accounts on a single dashboard..
Using SAM CLI custom build
This session covers using the AWSSAM CLI custom build to use Makefiles in the build process. THis example demonstrates using webpack in node apps. Code | Video
Lambda Layers
This session talks through using Lambda layers externally and internal to the application. It also covers local development with Layers. Code | Video
Additional Templates
These templates do not have an accompanying episode or it has not aired yet.
HTTP API Access logging
This template shows how to setup access logging on an HTTP API gateay. Code
Building custom runtime - Swift example
This projects builds two Lambda functions built with Swift. Squared is a simple Lambda that returns the squared value of a number. SwiftApi is a simple Lambda function that triggers from an HTTP API. Code
Running Go as a custom runtime on Amazon Linux 2
This project demonstrates running Go on al2 with the new provided.al2 custom runtime. Code
HTTP APIs service integration blog example
This template builds an HTTP APIs service integration to SQS with a Lambda function for testing. Code | Blog
API Gateway enhanced observability variables
This example demonstrates using the new API Gateway enhanced observability variables to get the full story of an API Gateway request and response. Code
EventBridge DLQ and retry policy config
This template creates an HTTP API with a direct integration to the EventBridge default bus. It also creates an EventBridge rule with a Lambda function as a trigger. The template also configures a DLQ and a retry policy for the EventBridge rule. Code
Using AWS AppConfig with AWS Lambda Extensions - Gunnar Grosch
This is an example of how AWS AppConfig can be used with AWS Lambda and Lambda Extensions. Using AppConfig to separate your application configuration from your application code is good practice. By using that, you are able to deploy configuration changes independently from your code. AWS AppConfig helps us achieve that.This example will deploy a sample serverless applications with AWS AppConfig and the AppConfig Lambda layer needed for AWS Lambda Extensions using AWS SAM. Code
See the full YouTube playlist https://slip.link/sws-vids