さくらのクラウド オブジェクトストレージ
boto3 の利用まとめ
ここまで boto3 の利用方法を個別に説明してきました。
引き続き、これらを一つのファイルにまとめて実行していきます。
まとめのファイル名は boto3-1.py とします。
以下のようなファイルを作成します。
# coding: utf-8
import boto3
s3 = boto3.resource('s3')
# バケット一覧取得
for bucket in s3.buckets.all():
print(bucket)
print(f"バケット名: {bucket.name}")
# 結果
# s3.Bucket(name='76bucket')
# バケット名: 76bucket
# バケット名と作成日を表示
bucket_list = list(s3.buckets.all())
for bucket in bucket_list:
print(f"Bucket name: {bucket.name}, created on: {bucket.creation_date}")
# 結果
# Bucket name: 76bucket, created on: 2026-05-27 09:04:57.614000+00:00
# オブジェクトストレージにファイルをアップ
# s3.Bucket(bucket_name).upload_file(upload_file, obj_name)
s3.Bucket('76bucket').upload_file("./public_html/images/pyplot-g.png", "pyplot-g.png")
print("アップロードが完了しました...")
# オブジェクトストレージサブフォルダにファイルをアップ
# 書式
# 2. 対象バケットの指定
# bucket_name = "your-bucket-name"
# bucket = s3.Bucket(bucket_name)
# アップロード設定
# local_file_path = "local_sample.txt" アップロードするローカルファイルのパス
# s3_object_key = "subfolder/sample.txt" 保存先のサブフォルダ名とファイル名
# bucket.upload_file(Filename=local_file_path, Key=s3_object_key)
s3.Bucket('76bucket').upload_file('./public_html/images/pyplot-g.png', 'folder-1/pyplot-g1.png')
print("サブフォルダへのアップロードが完了しました。")
# バケットとオブジェクトを指定してダウンロード
# bucket = s3.Bucket(bucket_name)
# bucket.download_file(object_key, local_file_path)
s3.Bucket('76bucket').download_file('folder-1/pyplot-g.png', './public_html/images/pyplot-g1.png')
print("ダウンロードが完了しました。")
# フォルダ一覧取得
# bucket_name = 'your-bucket-name'
# prefix = 'folder-name/' 取得したいフォルダのプレフィックス
# bucket = s3.Bucket(bucket_name)
# 指定プレフィックス配下のオブジェクトを走査
# for obj in bucket.objects.filter(Prefix=prefix):
bucket = s3.Bucket('76bucket')
# for obj in bucket.objects.filter('folder-1'): 動かない
for obj in s3.Bucket('76bucket').objects.filter(Prefix='folder-1'):
print(obj.key)
# 起動方法
# yamada@yama:~$ conda activate
# (base) yamada@yama:~$ python3 public_html/boto3-1.py
ファイル内容
# coding: utf-8
・・・・・・・・・・・・・・・・
for obj in s3.Bucket('76bucket').objects.filter(Prefix='folder-1'):
print(obj.key)
までをコピして Python ファイルを作成します。
自分の PC Windows で TeraPad 等を使用して作成できたら
\\wsl.localhost\Ubuntu-24.04\home\yamada\public_html
に保存します。
このフォルダに保存すると WSL2 での動作確認も可能です。
ファイル名は
boto3-1.py
とします。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
boto3 の利用ファイル動作確認
boto3-1.py の動作確認をします。
WSL2 Ubuntu のターミナルを立ち上げます。
立ち上げ方がわからない方は
Ubuntu の起動
を見てください。
yamada@yama:~$ conda activate
として conda 環境を有効にします。
public_html/boto3-1.py ファイルを実行します。
yamada@yama:~$ conda activate (base) yamada@yama:~$ python3 public_html/boto3-1.py [結果] s3.Bucket(name='76bucket') バケット名: 76bucket Bucket name: 76bucket, created on: 2026-05-27 09:04:57.614000+00:00 アップロードが完了しました... サブフォルダへのアップロードが完了しました。 ダウンロードが完了しました。 folder-1/ folder-1/pyplot-g.png folder-1/pyplot-g1.png
上記のように動作すれば OK です。
次に、自分の PC Windows で
\\wsl.localhost\Ubuntu-24.04\home\yamada\public_html/images/
の中に
pyplot-g.png
pyplot-g1.png
があること確認します。
さらには Web ブラウザでオブジェクトストレージにファイルがアップされているか確認します。
ここまでで、boto3 を使ってオブジェクトストレージが利用できるようになりました。
さくらのクラウド オブジェクトストレージの説明は終わりです。



