S3互換で安いクラウドストレージサービスのwasabiをGoogleColabと連携して使いたいと思ったので自分用にメモしておきます。
1.認証
2.ファイルの一覧取得
3.ダウンロード
4.アップロード
5.バケット作成
を記載しておきます。
# 必要なライブラリのインストール
!pip install boto3 -q
import boto3
# 認証情報
aws_access_key_id = アクセスキー
aws_secret_access_key = シークレットキー
region = リージョン # リージョン一覧 → https://wasabi.com/locations/
bucket = バケット名
# S3アクセス準備
s3 = boto3.resource('s3',
endpoint_url=f"https://s3.{region}.wasabisys.com",
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key
)
# 使うバケットを設定
bucket=s3.Bucket(bucket)
# file一覧の取得
files=[obj_summary.key for obj_summary in bucket.objects.all()]
# ファイルのダウンロード
bucket.download_file(ソース, ダウンロード先)
# ファイルのアップロード
bucket.upload_file(ソース, アップロード先)
#バケットの作成
# 管理画面では『_』は禁止っぽいので使わない方が良いかも?
bucket_name = 新バケット名
s3.create_bucket(Bucket=bucket_name)