Amazon S3互換クライアントの利用例

[更新:2025年10月21日]

オブジェクトストレージには、Amazon S3互換APIが搭載されており、対応したクライアントやツールによる操作が可能です。Amazon S3互換APIの詳細については こちらのページ を参照ください。

ここでは、AWS CLIの利用例を取り上げます。

重要

本項目で掲載した使用例は参考例となります。オブジェクトストレージは全てのAmazon S3のAPIの動作を保証するものではなく、よってサードパーティー製のツールを使用した場合の操作についてはサポート対象外となります。

AWS CLIについて

AWS CLIはAmazon Web Serviceが提供するコマンドライン操作ツールです。オブジェクトストレージではAmazon S3互換APIを使用しているため、新オブジェクトストレージのエンドポイントをオプション引数に指定することでそのまま操作することが可能です。

重要

一部バージョンの AWS CLI および AWS SDK において、オブジェクトストレージが正常に利用できないことを確認しています。
詳細は以下のさくらのクラウドニュースをご確認ください。

注意

Amazon S3互換API を利用するツールではバケットの作成/削除などの操作は行えません。APIよりこれらの操作を行う場合は さくらのオブジェクトストレージAPI をご利用ください。

初期設定

最初にconfigureオプションよりAWSコマンドにアクセスキー/シークレットアクセスキーの設定などを行います。

$ aws configure
AWS Access Key ID [None]: アクセスキーを入力
AWS Secret Access Key [None]: シークレットアクセスキーを入力
Default region name [None]: "jp-north-1" を入力
Default output format [None]: "json", "text" など

エンドポイントを指定して実行

--endpoint-url 引数に新オブジェクトストレージのエンドポイントを指定してサブコマンドを実行します。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3 [サブコマンド]

バケット一覧の確認

ls サブコマンドによりバケット一覧を確認します。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3 ls
2020-11-16 11:09:46 bucket01
2020-11-17 08:22:21 bucket02
2020-11-17 08:22:42 bucket03

オブジェクトのアップロード

cp サブコマンドによりローカルのファイルをバケット内にアップロードします。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3 cp ~/test/file.txt s3://bucket1/
upload: ~/test/file.txt to s3://bucket1/file.txt

オブジェクト・総ディスク使用量の確認

ls サブコマンドに続いてさらにバケット名を指定し、 --summarize および --recursive オプションを付与して実行することで、バケット内のオブジェクトの総数や総ディスク使用量を表示することができます。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3 ls s3://bucket1/ --summarize --recursive
2021-03-31 13:42:45       5560 image01.jpg
2021-03-31 13:42:45       5560 image02.jpg
2021-03-31 13:42:45       5560 image03.jpg
2021-03-31 13:42:45       5560 image04.jpg
2021-03-31 13:42:45       5560 image05.jpg

Total Objects: 5
   Total Size: 27800

バケット内の削除

バケット内のオブジェクトを削除します。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3 rm s3://bucket01
delete: s3://bucket01/abc/
delete: s3://bucket01/abc/def/
delete: s3://bucket01/test123/
delete: s3://bucket01/folder001/

※他にもオブジェクトの移動を行う mv などのサブコマンドが利用可能です。