Serverless Unit Testing with Moto

Serverless development can speed up your development process a lot by moving infrastructure responsibilities over to cloud providers. However, when testing your application, it can be a challenge to mimic all the cloud services you’re relying on.

One useful tool to help do this when you’re writing Python code is moto. In this post, I’ll show you how to use the moto module in combination with pytest to help test your Python code when it interacts with AWS services like DynamoDB, S3 and others.

Voices of COVID - Technical Overview

I recently created a project aimed at collecting the stories of people impacted by the COVID-19 pandemic called Voices of COVID. This project is designed to collect audio stories from people impacted by the pandemic and make them searchable. For more about the motivation behind it you can review this post. But for now, let’s look at how it’s put together!

Using JSON Schema Validation with the AWS API Gateway

Imagine you’re writing a serverless API using AWS Lambda and API Gateway. If you want to accept JSON payloads from POST requests that contain data created by your frontend client you may end up needing to validate that data to make sure it conforms to your expectations before you process it. Let’s look at a simple way of doing this with API Gateway’s JSON Schema validation.

Sponsorship Open Forum

I’d like to start accepting sponsorship to this blog soon and I’d like your feedback. I think that accepting sponsorship will allow me to commit more to creating free educational content for everyone. If done correctly, I think it can be a win-win for everyone. But I want to make sure that you feel that way too.

Creating a Surveys API with the AWS HTTP API and Python

This is project 15 in my Twenty Projects in Twenty Days series! This time, we’re looking at how to create an AWS HTTP API with Python. This will be the Python version of yesterday’s project where we created a Surveys service API to track three entities - customers, customer surveys, and survey responses. Let’s get started!