Implementing Exponential Backoff When Accessing Amazon S3
Amazon S3 is a data storage service from AWS. It's reliable, highly-scalable, and low cost. Amazon S3 has a simple HTTP interface making it easily accessible from anywhere and it is employed in a wide variety of solutions when using AWS for cloud infrastructure.
Under the hood, Amazon S3 is a distributed system, which makes it very responsive and fault-tolerant. However, Amazon S3 does have request limits, and when working with potentially large workloads you should be aware of what they are and how to handle them.
In this lab you will see what happens when Amazon S3 issues error responses asking the client to reduce their request rate, and you will learn how to handle this situation so your solutions continue to perform.
Upon completion of this beginner-level lab, you will be able to:
- Use the AWS command-line tool to create a bucket
- Upload a file directly to Amazon S3 using Python
- Implement the AWS recommended retry strategy using Python
- Use Amazon S3 effectively to avoid hitting request limits
- Candidates for the AWS Certified Developer - Associate certification
- Cloud Engineers
Knowledge and experience with the following will be beneficial but is not required:
- Amazon S3
- The Linux Bash shell
- The Python scripting language
The following courses can be used to fulfill the requirements:
Andrew is a Labs Developer with previous experience in the Internet Service Provider, Audio Streaming, and CryptoCurrency industries. He has also been a DevOps Engineer and enjoys working with CI/CD and Kubernetes.
He holds multiple AWS certifications including Solutions Architect Associate and Professional.