I need an update for boto3 to this question Make a file in s3 public using python and boto
s3.Bucket('gentle-persuader-emoji').put_object(Key=emoji_png_file, Body=image)
response = s3.object(emoji_png_file).put_object_acl('ACL=public-read')
gives error
AttributeError: 's3.ServiceResource' object has no attribute 'object'
Since you are upload the object, the easiest method is to specify the Access Control List (ACL) as part of the upload:
s3.Bucket('gentle-persuader-emoji').put_object(Key=emoji_png_file, Body=image, ACL='public-read')
Alternatively, you may wish to add a Bucket Policy that applies to the whole bucket (or a specific path within the bucket), rather than applying the policy on each individual object.