-
AWS SES, Boto3 and Python: Complete Guide with examples
AWS Boto3 is the Python SDK for AWS. Boto3 can be used to directly interact with AWS resources from Python scripts. In this tutorial, we will look at how we can use the Boto3 library to perform various operations on AWS SES.
-
AWS SQS, Boto3 and Python: Complete Guide with examples
AWS Boto3 is the Python SDK for AWS. Boto3 can be used to directly interact with AWS resources from Python scripts. In this tutorial, we will look at how we can use the Boto3 library to perform various operations on AWS SQS.
-
AWS EC2, Boto3 and Python: Complete Guide with examples
AWS Boto3 is the Python SDK for AWS. Boto3 can be used to directly interact with AWS resources from Python scripts. In this tutorial, we will look at how we can use the Boto3 library to perform various operations on AWS EC2.
-
AWS RDS Proxy Deep Dive: What is it and when to use it
Introduction
AWS Relational Database Service (RDS) is a managed database service that was launched almost 10 years ago. Over the last 10 years, application patterns have evolved which has led to various challenges when it comes to interacting with the database:
- Applications, especially serverless applications, have a large number of open DB connections. RDS only allows a limited number of open connections.
- Custom failure handling code can become hard to manage and error-prone. Handling database failovers is one such example of handling failures.
AWS RDS proxy is a fully-managed database proxy for Amazon RDS. RDS proxy works by pooling and sharing DB connections and thus makes applications more scalable as well as resilient to database failures. They key benefits of using RDS proxy are:
- Connection pooling and sharing: Improves application performance by reducing the number of open database connections
- RDS proxy helps improve application availability during failure scenarios such as a database failover.
- RDS Proxy gives you the choice to use IAM authentication for connecting to the database, thus removing the need for database credentials in the application code.
RDS proxy is currently available for Aurora MySQL, Aurora PostgreSQL, RDS MySQL and RDS PostgreSQL.
-
How to test your AWS code using Moto and Pytest
Introduction
AWS’ Boto library is used commonly to integrate Python applications with various AWS services such as EC2, S3, and SQS amongst others. I have generally avoided writing unit-tests for application code that interacts with the boto library because of the complexity involved in mocking and testing these functions.
However, I recently tried out the Moto library which makes it easy to mock AWS services and test code that interacts with AWS.
Some of the benefits of using Moto:
- Testing code that interacts with AWS. Instead of having to test your code in an AWS environment, test AWS interactions locally.
- Easy to learn and get started with.
- Extensive coverage of AWS services.
In this article, we will look at how to add unit tests using Moto.