今回の記事ではPythonでS3にファイルをアップロードするための準備とやり方を解説します。
必要なライブラリは下記の通りです。
- boto3
- awscli
ライブラリのインストール
awscliの初期設定
ファイルのアップロード
という流れで説明します。
目次
ライブラリのインストール
冒頭でも説明しましたが、必要なライブラリは「boto3」と「awscli」です。
これらをpipでインストールします。
pip install boto3 pip install awscli
awscliはAWSを操作するために必要なライブラリで、接続するための設定をしてあげる必要があります。
awscliの初期設定
まずは、下記のコマンドを入力します。
aws configure
このコマンドを入力すると下記の情報を入力するように求められます。
- AccessKey
- Secret Access Key
- region name
- output format
次の通りに入力していただければ問題ないです。
※output formatは空欄のままで大丈夫です。
AWS Access Key ID [None]:あなたのAccess Key AWS Secret Access Key [None]:あなたのSecret Access Key Default region name [None]:regionのコード値 Default output format [None]
Access KeyとSecret Access Keyをまだ作成していない場合にはこちらをご確認ください
Qiita


AWSアクセスキー作成 - Qiita
TerraformでAWSリソースの自動作成を行うためには、ACCESS_KEY_ID, SECRET_ACCESS_KEYが必要になります。事前準備として以下の手順が必須になります。1. グルー…
region nameはS3の格納したいバケットリージョンを確認してください。
アジアパシフィック(東京)の場合は「ap-northeast-1」です。
その他は下記の通りです。
名前 | コード |
---|---|
米国東部(バージニア北部) | us-east-1 |
米国東部(オハイオ) | us-east-2 |
米国西部(北カリフォルニア) | us-west-1 |
米国西部(オレゴン) | us-west-2 |
カナダ(中部) | ca-central-1 |
欧州(フランクフルト) | eu-central-1 |
欧州(アイルランド) | eu-west-1 |
欧州(ロンドン) | eu-west-2 |
EU(パリ) | eu-west-3 |
アジアパシフィック(東京) | ap-northeast-1 |
アジアパシフィック(ソウル) | ap-northeast-2 |
アジアパシフィック(大阪:ローカル) | ap-northeast-3 |
アジアパシフィック(シンガポール) | ap-southeast-1 |
アジアパシフィック(シドニー) | ap-southeast-2 |
アジアパシフィック(ムンバイ) | ap-south-1 |
南米(サンパウロ) | sa-east-1 |
S3へのファイルアップロード
準備ができてしまえばS3へのファイルアップロードはシンプルです。
import boto3 s3 = boto3.resource('s3') bucket = s3.Bucket('test') bucket.upload_file('upload/test.txt', 'test.txt')
bucketではbucket名を指定しています。
upload_fileではアップロードしたいファイルパス、S3へアップロードするときのファイル名を書いてあげれば大丈夫です。
まとめ
必要なライブラリをインストール
- boto3
- awscli
awsの設定をする
boto3を使って、アップロードする