2017-01-27 12 views
6

私が使用して画像ファイルをアップロードすることができる午前:ファイルをS3にアップロードしてboto3を使って公開するにはどうすればいいですか?

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

はしかし、私はあまりにもファイルを公開したいと思います。私はファイルのACLを設定するいくつかの関数を探してみましたが、boto3のAPIが変更され、いくつかの機能が削除されたようです。 boto3の最新リリースでそれを行う方法はありますか?

答えて

1

Adi's way作品。しかし、あなたが私のような人なら、あなたはアクセス拒否の問題に遭遇したかもしれません。これは通常、ユーザーの権限が壊れているために発生します。 私はAction配列に以下を追加することによって、それを修正:1つのステップでアップロードし、許可を公に可読設定するには

"s3:GetObjectAcl", 
"s3:PutObjectAcl" 
4

、あなたが使用することができます。

bucket.upload_file(file, key, ExtraArgs={'ACL':'public-read'})

関連する問題