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

今回の記事では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を使って、アップロードする

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次