さくらのクラウド オブジェクトストレージ

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 を使ってオブジェクトストレージが利用できるようになりました。
    さくらのクラウド オブジェクトストレージの説明は終わりです。


  • Python の中でオブジェクトストレージを利用 に戻る
  • AWS CLI を利用する に戻る
  • さくらのクラウド オブジェクトストレージ概要 に戻る
  • 70VPS に戻る


    Hiroo 散歩通り あだん
    あだん google 情報
    Hiroo Station
    イザカヤあだん