Edited at

AWS S3にPythonで画像ファイルアップロードする方法

More than 1 year has passed since last update.


はじめに

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ファイルとしてアップロードする例

これでファイルアップロードは完了


最後に

指定したバケットにファイルがアップロードされていることを確認してみてください。