2017-01-27 105 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數組:

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

要上傳和設置權限公開可讀在一個步驟中,可以使用:

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

相關問題