はじめに
Pythonで画像ファイルをS3にアップロードしたくなったので、やってみました。
以下方法で簡単にできます。
環境
Python 3.5.1
Mac OS 10.11.4
#credentialの設定を忘れずに
AWS cliコマンドをまずは使えるようにしておきます。
$ pip install awscli
credentialを設定しておく
$ aws configure
aws configureコマンドを打つと、accesskey,secret key,regionの設定ができるので、AWSコンソール画面にログインし事前に確認しておき、ここで設定しておきます。
格納したいS3のリージョンを間違えないようにしましょう。
すると .aws/credentialsにprofileが設定されるので、下準備はOKです。
#boto3をインストール
Amazonへの操作ができるようboto3モジュールをpipインストールします。
$ pip install boto3
以下のようにコードを記述します。
upload_file APIを使います。
import json
import boto3
bucket_name = "my-bucket-name"
s3 = boto3.resource('s3')
s3.Bucket(bucket_name).upload_file('/Users/tottu22/Downloads/local.jpg', 'server.jpg')
※ダウンロードフォルダにあるlocal.jpgファイルをS3のmy-bucket-nameフォルダにserver.jpgファイルとしてアップロードする例
これでファイルアップロードは完了
最後に
指定したバケットにファイルがアップロードされていることを確認してみてください。