用過aws的人,都知道s3存儲東西賊方便。
他的上傳有兩個方法,
第一個是get_object(),是將文件的內容賦值給body,進行上傳,並設置存儲桶為上傳文件為公開
response = s3.put_object(Bucket=bucket_tmp, Key=file_key, Body=content, ACL="public-read-write")
然后點擊對應的文件路徑,就有一個下載的s3對象url進行下載,如下圖所示,會自動彈出:
第二個是upload_file
s3.upload_file(filename, bucket, key, callback, extra_args)
這種方法,就是上傳的時候只需要填入文件的名稱就可以實現上傳,但是貌似不能設置這個文件的公開需要去配置s3的存儲桶信息,那應該怎么辦呢,我也沒花時間研究,就直接很暴力看了文檔,可以這么操作。
First: (這里注意一下使用第一種的上傳方式,也要設置桶公開哈)
Second:是設置文件的公開:點擊權限->點擊存儲桶策略,插入一下信息,
首先點擊策略生成器,根據自己需要開通的權限,選擇即可或者通過文檔自己來編碼這個json信息,然后將結果回填,保存即可!
可以參考這么寫,兩種上傳都各有千秋,可以根據具體選擇來做!
{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws-cn:iam::Account-ID:user/Dave" }, "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws-cn:s3:::examplebucket/*", "arn:aws-cn:s3:::examplebucket" ] } ] }