Changing S3 objects’ metadata in bulk after upload, using boto3

Vivek Kaushal
Jun 13, 2021

--

Due to an anomaly on our frontend, over 500k objects had been uploaded to an AWS bucket without the correct content-type. Keeping the non-mutable nature of S3 objects in mind, and constraint of retaining the same link, here’s how I fixed this anomaly through a python script built on top of boto3.

In a nutshell, here’s what this script does:

  • fetches all objects in a bucket
  • for each object:
  • fetches the metadata of the file
  • checks the intended content type of a file, based on file extension
  • updates the following in metadata:
  • sets access to ‘public-read’
  • sets ContentDisposition to ‘inline’
  • sets ContentType to the intended content type

The code, along with inline documentation, is as follows:

If you need any other help with this, feel free to reach out to me.

--

--

Vivek Kaushal
Vivek Kaushal

Written by Vivek Kaushal

Product | Hacker | Engineer | Building Enterpret | ex-Samsung, IIIT-H | vivekkaushal.com

No responses yet