hands-on lab

Implementing Exponential Backoff When Accessing Amazon S3

Up to 45m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

 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.

Learning Objectives

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 

Intended Audience

  • Candidates for the AWS Certified Developer - Associate certification
  • Cloud Engineers
  • Developers


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:

Environment before

Environment after

About the author
Learning paths

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.

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Connecting to the Virtual Machine using EC2 Instance Connect
Implementing Exponential Backoff When Accessing Amazon S3