Как загрузить файл на S3 и сделать его общедоступным с помощью boto3?

Я могу загрузить файл изображения, используя:

s3 = session.resource('s3')
bucket = s3.Bucket(S3_BUCKET)
bucket.upload_file(file, key)

Однако я хочу сделать файл общедоступным. Я попытался найти некоторые функции для установки ACL для файла, но похоже, что boto3 изменил свой API и удалил некоторые функции. Есть ли способ сделать это в последней версии boto3?

Ответ 3

Ади путь. Однако, если бы вы были похожи на меня, возможно, вы столкнулись с проблемой отказа в доступе. Обычно это вызвано нарушениями прав пользователя. Я исправил его, добавив следующее в массив Action:

"s3:GetObjectAcl",
"s3:PutObjectAcl"