How to upload a file to S3 and make it public using boto3?
I am able to upload an image file using:
s3 = session.resource('s3') bucket = s3.Bucket(S3_BUCKET) bucket.upload_file(file, key)
However, I want to make the file public too. I tried looking up for some functions to set ACL for the file but seems like boto3 have changes their API and removed some functions. Is there a way to do it in the latest release of boto3?
I was able to do it using objectAcl API:
s3 = boto3.resource('s3') object_acl = s3.ObjectAcl('bucket_name','object_key') response = object_acl.put(ACL='public-read')