This repository contains small serverless application examples to demonstrate different types of integrations, workflows, and design patterns.
This application provides an HTTP interface to an SQS queue. A Lambda function is attached to the queue and will automatically poll for messages using the SQS Event.
By making the interface generic like this it is easier to integrate queued systems with other applications and services as you no longer are required to use AWS SDKs for interaction. Send a HTTP POST with a JSON body to the API Gateway and it will be added to the queue.
Instead of allowing S3 to spawn as many Lambdas as it needs for an influx of files to your bucket, you can send S3 events directly to an SQS queue and have those processed by Lambda. Consider this approach in situations where you expect high throughput, or you must control the rate of execution for the processing.
A basic application that will process file uploads to an S3 bucket. Using the embedded copy of requests
within the botocore
module, the Lambda sends the successfully parsed JSON to an external HTTP destination.
This app leverages the Filter
option for S3 Events to only process uploaded JSON files and will ignore any other file type. Use filters to process different files using different dedicated Lambda functions.
These are links shown during my presentation "Dive into Lambda: An Intro to Serverless for Admins" from the Penn State MacAdmins 2018 conference. They server as excellent resources for anyone beginning to develop applications using serverless resources.