33
33

More than 5 years have passed since last update.

boto3を使ってS3にファイルのアップ&ダウンロード

Posted at

botoは、PythonのAWS用ライブラリです。
今回は、Azure VMの環境でboto3を使ってS3のファイル操作をしてみました。

下準備

boto3のインストール

$sudo pip install boto3

VM環境にAWS CLI(Command Line Interface)をインストール

sudo pip install awscli

configureの設定

$ aws configure
AWS Access Key ID : IAMユーザのアクセスID
AWS Secret Access Key [None]: IAMユーザのシークレットアクセスキー
Default region name [None]: ap-northeast-1 #東京リージョン
Default output format [None]: json

ちなみに、確認方法はこちら

$ cat ~/.aws/credentials
[yuni]
aws_access_key_id = XXXXX
aws_secret_access_key = XXXXX
[default]
aws_access_key_id = XXXXX
aws_secret_access_key = XXXXX

ファイルのダウンロード

それではダウンロードです。

boto_test.py
# -*- coding: utf-8 -*-
import boto3

s3 = boto3.resource('s3') #S3オブジェクトを取得

bucket = s3.Bucket('バケット名')
bucket.download_file('S3のバケット以下のpath', '保存先のpath')

動かしてみます。
それっ

$ python3 boto_test.py
Traceback (most recent call last):
  File "boto_test.py", line 2, in <module>
    import boto3
ModuleNotFoundError: No module named 'boto3'

オロロ。。。
あれこれやって、これで解決。

$ pip install --upgrade --user boto3

再度実行して、無事ダウンロードすることができました。

ファイルのアップロード

アップロードも同様にできました。

boto_test.py
# -*- coding: utf-8 -*-
import boto3

s3 = boto3.resource('s3') #S3オブジェクトを取得

bucket = s3.Bucket('バケット名')
bucket.upload_file('UPするファイルのpath', '保存先S3のpath')

はい。
これだけだと、AWS CLIでいいっておはなし。

33
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
33