オブジェクトストレージ サービス基本情報

[更新日:2024年4月3日]

概要

「オブジェクトストレージ」は、HTTPSプロトコルを使用してファイル(オブジェクトストレージ)を保管、取得することができるサービスです。ファイル操作手続きはAmazon S3プロトコルを採用し、バックエンドストレージとしてお客様サービスへ容易に組み込むことが可能です。

料金

オブジェクトストレージ内でファイルを保管する基本的な単位である「バケット」ごとに料金が発生します。詳細については サービスサイト の料金表を参照ください。

注釈

・すべて月額単位での課金のみとなり日割/時間割料金の設定はありません。
・リクエスト数として課金対象となるステータスコードは 100 , 200 , 204 , 206 となります。
・さくらインターネット内部へのデータ転送(さくらのクラウド内のほか、さくらのVPS、専用サーバなどの他サービス含む)、さくらインターネット外部からのPUT/POSTメソッドを利用した通信は課金計算対象外となります。
・課金計算されるストレージ容量は、該当請求月内で利用した最大時の容量が適用されます。

サービス仕様

基本的な仕様は以下のとおりとなります。

項目 仕様
最大同時アクセス数 100
アクセス方法 Amazon S3互換
アクセスコントロール アクセスキー毎に設定
認証 Signature v4対応
キャッシュサーバの有無 無し
通信プロトコル https
その他 AWS SDKを動作確認の基本としています(※)
オブジェクト名に使用可能な文字種 英数字(1バイト)、一部の記号( !, -, _, ., *, ', (, ) )
※これら以外の文字を使用した場合はオブジェクト一覧が正常に表示されない可能性があります
バケット名/フォルダ名に使用可能な文字種 「よくある質問と回答」の バケット名とフォルダ名に利用できる文字はどのような種類ですか? の項目を参照ください

※AWS SDK利用時の設定パラメタは以下を想定し検証しています。

項目 パラメタ
endpoint isk01.sakurastorage.jp
region jp-north-1
signature_version s3v4

リソース制限

初期状態では以下のリソース制限が行われます。

項目 制限値
1アカウントあたりの最大アクセスキー数 1個
1アカウントあたりの最大パーミッション設定数 30個
1パーミッション設定あたりの最大アクセスキー数 1個
1パーミッション設定あたりの最大適用バケット数 20バケット
1アカウントあたりの最大バケット数 20バケット
1バケットあたりの最大容量 10TiB
1バケットあたりの最大オブジェクト数 1,000万オブジェクト
1オブジェクトの最大サイズ 5TiB
1バケットあたりの最大アクセス数 毎秒100アクセス

注釈

1アカウントあたりの最大バケット数については、お客様のご利用状況により制限の緩和が可能です。ご希望のお客様はサポートまでご連絡ください。

オブジェクト数やデータ使用量において、設定された制限値の90%に達すると画面に警告が表示されます。

画像ファイル

制限値に達すると新たなオブジェクトが格納できなくなります。お早めに削除や別途新規にリソースを作成するなどのご対応をお願いします。

ご利用手順

クラウドコントロールパネルのホーム画面より オブジェクトストレージ をクリックし、オブジェクトストレージ管理画面に移動します。

画像ファイル

注意

管理者が ユーザ・アカウント機能 機能を使用して作成した個別のユーザがオブジェクトストレージを利用する場合、ユーザ管理画面で該当ユーザに対するオブジェクトストレージへのアクセス権限を付与する設定が必要となります(権限が付与されていない場合はホーム画面に「オブジェクトストレージ」が表示されません)。
設定方法については ユーザ・アカウント機能 のページを参照ください。

サイトの作成

最初にサイトの利用開始操作を行います。

注釈

サイトとは、実際にデータを格納するバケットなどのリソースが作成される物理的位置のことです。連携するシステムとの地理的な位置やDRなどを考慮し、バケットの作成先サイトを選択することが可能です。
現在は 石狩第1サイト のみが選択可能です。

左側のメニューより「サイト」を選択し、表示されるサイトのリストから利用を開始したいサイトを選択します。

画像ファイル

確認のダイアログボックスが表示されるので、問題が無ければ「OK」をクリックし利用開始処理を行います。

画像ファイル

利用開始処理が完了すると、オブジェクトストレージにアクセスするための アクセスキーIDシークレットアクセスキー が表示されます。

画像ファイル

注意

シークレットアクセスキーはサイト利用開始処理が完了した後に表示されます。情報を紛失した場合は、サイト画面で発行済みのアクセスキーを削除後「アクセスキーの発行」ボタンを再度クリックすることで再発行することができます。なお、この操作によりアクセスキーIDとシークレットアクセスキーは新たなものが発行され、以前のものは利用できなくなりますのでご注意ください。

画像ファイル

サイトの利用開始処理が完了するとAmazon S3互換プロトコルで接続可能なエンドポイントが作成されます。

画像ファイル

注釈

実際のオブジェクトストレージへの接続の際は、こちらのサイト利用開始時に発行されるアクセスキーではなく、 パーミッション設定画面 で発行したアクセスキーを使用することを推奨します。

サイトの削除について

作成済みのサイトを選択し、3点ボタンをクリックして表示されるメニューより「サイトアカウントの削除」を選択することでサイトを削除することができます(サイトを削除する場合はサイト内のオブジェクトやバケットなどが全て削除済みである必要があります)。

画像ファイル

注意

さくらのクラウドの解約時など、すべてのリソースを削除する必要がある場合は「サイト」を全て削除することによりオブジェクトストレージが未利用状態となります(「バケット」の全削除のみではオブジェクトストレージの利用が継続していると判定され、解約を行うことができません)。

バケットの作成

注意

オブジェクトストレージの基本料金は1バケットごとに発生します。そのため、新たなバケットの作成が完了した時点でそのバケットに対する基本料金の課金が開始されます。

実際にオブジェクトを格納するバケットを作成します。左側のメニューより「バケット」を選択し、いずれかの「バケットの追加」ボタンをクリックします。

画像ファイル

バケット名を入力し「追加」ボタンをクリックします。

画像ファイル

注釈

バケット名には半角3〜63文字の範囲で、英字(小文字)、数字、ダッシュ(-)が使用できます。またバケット名の始まりの文字と終わりの文字に記号は使用できません。
バケット名はユーザやサイトに共通してオブジェクトストレージ全体で一意である必要があるため、他のお客様のご利用状況などによりご希望のバケット名が指定できない場合もあります。

バケット作成後はバケット一覧画面より詳細の確認や設定ができます。

画像ファイル

また、作成したバケットを削除したい場合はリスト右側の3点ボタンをクリックし、「バケットの削除」を選択します。

画像ファイル

注意

バケットにオブジェクトやフォルダが存在している場合は削除ができません。バケットを削除する際はオブジェクトやフォルダの削除後に行ってください。

バケットの操作

バケットに対してはコントロールパネルより以下の操作が可能です。

注釈

コントロールパネルから実行可能なバケット操作は限定されます。全ての操作を行う場合はAPI経由で行ってください。

作成済みの任意のバケットを選択し、上部に表示される オブジェクトパーミッションCORS設定詳細 それぞれのタブを選択します。

画像ファイル

「バケットACL」を設定することで、匿名アクセス時にオブジェクトリスト表示を許可する(Public read)または許可しない(Private)を選択することができます。

注釈

・デフォルトのバケットACLはPrivateとなります。
・バケットACLの設定値にかかわらずバケット内に設置したオブジェクト自体はデフォルトでPrivateとなるため、オブジェクトのACLを変更しない限りはリストからオブジェクトを選択しても内容を表示することはできません。

右上の3点ボタンをクリックして表示されるメニューより「バケットACLの編集」を選択します。

画像ファイル

表示されるダイアログボックスより設定したい権限を選択し更新ボタンをクリックします。

画像ファイル

選択可能なそれぞれの権限の許可内容は以下の通りです。

private 認証が必要なAPI経由でのみオブジェクトリストを取得できます。
public-read 認証が不要なURL経由でオブジェクトリストを取得できます。

「オブジェクト」タブ

タブ選択後は選択中のバケット・フォルダ内に格納されているオブジェクトの一覧が表示されます。

注意

オブジェクトの一覧の取得に失敗した場合、以下のようなエラー画面が表示されます。

オブジェクト一覧に失敗した場合のエラー画面

エラー画面が表示された場合は以下をご確認ください。
・オブジェクト名として使用できない文字が含まれていないかどうか

「フォルダの作成」ボタンからバケット内にフォルダを作成することができます。表示されたダイアログボックスにフォルダ名を入力し、「作成」ボタンをクリックします。

画像ファイル

注釈

フォルダ名は2〜128文字の範囲内で英数字、一部の記号( !_.*\'()-/ )が使用できます。また、末尾には必ず / が必要です。

作成したフォルダはオブジェクトタブ内に表示されます(API経由で作成されたフォルダも表示されます)。

画像ファイル

それぞれのフォルダを選択することで、さらにそのフォルダ内に新たなフォルダを作成することが可能です。

作成したフォルダを削除したい場合は、対象のフォルダの中に何もオブジェクトが存在しないことを確認後、リスト右側の3点ボタンをクリックし「フォルダの削除」を選択します。

画像ファイル

注釈

コントロールパネルではフォルダの作成/削除とリスト表示のみが可能です。変更はAPI経由でのみ操作が行えます。

また、オブジェクトに対してオブジェクトACLの設定/オブジェクトの削除がが可能です。オブジェクトACLでは以下のいずれかのACLに設定することができます。

Private API経由でのアクセスのみ許可されます。
Public read アクセスキー不要でURLを指定することでアクセスできます。

オブジェクトACLは、バケット内のオブジェクトに対する一括操作、または個別のオブジェクトごとに設定が可能です。

一括変更する場合はリスト画面左側のチェックボックスで変更対象のオブジェクトにチェックを入れ、画面上部の「一括操作」メニューをクリックして「オブジェクトACLの編集」を選択します。

画像ファイル

ダイアログボックスが表示されるので、設定したい権限をラジオボタンで選択し、更新ボタンをクリックします。

画像ファイル

オブジェクト個別に設定する場合は、リスト画面の「オブジェクトACL」フィールドに表示されるリンクをクリックすることで設定します。

画像ファイル

表示されるダイアログボックス内のラジオボタンで変更したいパーミッションを選択し、「更新」ボタンをクリックするとオブジェクトACLが変更されます。

画像ファイル

また、オブジェクトを削除したい場合はリスト右側の3点ボタンをクリックし、「削除」を選択します。

画像ファイル

確認のダイアログボックスが表示されるので、問題がなければ「削除」ボタンをクリックて削除を実行します。

注釈

削除したファイルは復旧できませんので削除作業時は十分ご注意ください。

「パーミッション」タブ

バケットに設定されたパーミッションを確認できます。

注釈

コントロールパネルでのパーミッション設定は パーミッション設定 の項目を参照ください。

「CORS設定」タブ

Amazon S3互換のCORS(Cross-Origin Resource Sharing)設定が行えます。上部に表示される切り替えボタンで、各設定値をフォーム形式で入力可能な「フォーム」とXML形式で直接入力できる「エディタ」の2種類の設定方法が利用できます。

「フォーム」入力を使用する場合は下部に表示される「追加」ボタンをクリックすることでCORSのルール設定フォームが表示されるので各設定項目のフォームに必要事項を入力します。複数のルールを設定する場合はさらに「追加」ボタンをクリックすることで追加でフォームが表示されます。

画像ファイル

全ての入力が完了したら、「保存」ボタンをクリックして設定値を保存します。

「詳細」タブ

当月+過去2ヶ月分の

  • ストレージ容量
  • オブジェクト数
  • リクエスト数
  • 転送量

をグラフで表示することができます。

画像ファイル

注釈

・当月分の表示については前日までの利用状況となります。
・ストレージ容量、転送量の表示については0.001GiB(1MiB)からの表示となります。これに満たない場合は0として表示されます。

パーミッション設定によるアクセスキーの発行

「パーミッション」メニューより、作成済みのバケットごとに指定したパーミッションでアクセスが行えるアクセスキーを発行することができます。左側メニューより「パーミッション」を選択後、いずれかの「パーミッションの追加」ボタンをクリックします。

画像ファイル

ダイアログボックスが表示されるので、「名前」フィールドには設定したいパーミッション名を入力し、その下に表示される作成済みバケットのリストに対しポップアップメニューで以下のいずれかの権限を設定します。

  • READ (読み込みのみを許可)
  • WRITE (書き込みのみを許可)
  • READ/WRITE (読み込みおよび書き込みを許可)
  • NONE (読み込みも書き込みも許可しない ※デフォルト値)

設定完了後、下部の「追加」ボタンをクリックします。

画像ファイル

バケットごとに設定したパーミッションで操作が可能となるアクセスキーが表示されます。

画像ファイル

注意

シークレットアクセスキーはパーミッション設定完了後のみ表示されます。情報を紛失した際はパーミッションの再設定が必要となりますのでご注意ください。

設定後、設定済みパーミッションのリストに表示されます。任意のパーミッションをクリックすることで詳細の表示/設定を行うことができます。

注意

多数のバケットが作成されているなど、利用状況によっては権限変更時の設定反映に最大1分程度かかる場合があります。

「バケット」タブ

各バケットに対して設定済みのパーミッションの状態を確認することができます。「パーミッションタイプ」フィールドには現在設定中の許可状態が表示され、変更する場合はポップアップメニューから別の許可状態を選択します。

画像ファイル

「アクセスキー」タブ

該当のパーミッション設定時に発行されたアクセスキーが表示されます。また、「アクセスキーの発行」ボタンより、新たなアクセスキーとシークレットアクセスキーのペアを設定することができます。

画像ファイル

注意

アクセスキーの発行は1パーミッションあたり1個のみに制限されます。そのため、「アクセスキーの発行」ボタンを押下し2個以上発行することはできません。

また、作成したパーミッションの名前変更または削除を行う場合は、リスト右側の3点ボタンをクリックしそれぞれの操作を選択します。

画像ファイル

注意

バケットへの設定後、格納しているオブジェクトにもACLを設定する必要があります(オブジェクトの操作はAPIからでも操作可能ですので、API経由での設定もご検討ください)。

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

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

重要

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

AWS CLIでの利用例

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

注意

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 などのサブコマンドが利用可能です。

マルチパートアップロード機能について

オブジェクトストレージではAmazon S3サービスで提供されるマルチパートアップロード機能と同等仕様の機能を提供しており、サイズの大きなファイルのアップロード時にご利用いただくことが可能です。

マルチパートでアップロード中のファイルの有無表示

コントロールパネル上で任意のバケットを選択した際、上部に表示される「マルチパート」の表示より、アップロード中のマルチパートファイル(未完了マルチパート)が存在するかどうかが分かります。

・未完了マルチパートが無い場合

画像ファイル

・未完了マルチパートがある場合

画像ファイル

注釈

全体のアップロードが完了すると、マルチパートアップロードファイルがひとつのファイルに結合され、未完了マルチパートが無い場合の表示に遷移します。

マルチパートファイルの削除

マルチパートアップロード中、全体のアップロードが完了していない状態でアップロードを中断したり、保存先バケットの削除を行いたい場合はコントロールパネルよりマルチパートアップロードファイルの削除操作により行うことができます。

右側のメニューより「未完了マルチパートの削除」を選択します。

画像ファイル

バケット画面内の表示が処理中の動作に変わり、削除が開始されます。

画像ファイル

コントロールパネルからのオブジェクトアップロード

コントロールパネルよりWebブラウザ経由でオブジェクトをアップロードすることが可能です。この機能を利用することで、S3互換のAPIやクライアントが手元に無い環境でも手軽にアップロードすることができます。

任意のバケットを選択し「アップロード」ボタンをクリックします。

画像ファイル

アップロード画面が表示されます。

画像ファイル
  • 「ファイル追加」ボタンをクリック、またはダイアログボックス内にファイルをドラッグ&ドロップします。合計10GiBを上限に複数のファイルをアップロードすることが可能です。
  • アップロードファイルリストへの追加後も、個別のファイルごとに左側のチェックボックスによりアップロードするかどうかを選択することができます。
  • ラジオボタンの選択により、アップロードするファイルの権限を「private」(API経由でのアクセスのみ許可)または「public-read」(アクセスキー不要でURLを指定することでアクセス可)から選択します。
  • ダイアログボックス内に記載の注意事項を確認の上、注意事項下のチェックボックスを有効にすると「アップロード」ボタンがクリック可能になります。

「アップロード」ボタンをクリックするとアップロードが開始され、画面右下に進捗状況が表示されます。

画像ファイル

「すべてキャンセル」をクリックすることでアップロード全体がキャンセル、またはファイルリストの「×」をクリックすることで個別のファイルのアップロードを中断することができます。

完了すると、選択したバケット内にアップロードされたファイルがオブジェクトとして格納されます。

画像ファイル

バケットバージョニング機能の利用

バケットバージョニング機能は バケット内のオブジェクトにおいて複数のバージョンを保持することができる仕組みです。この機能を有効にすることで、意図しないオブジェクトの上書きや削除が実行された場合でも、復旧・復元させることが可能になります。

バージョニングステータス

バージョニングは、バケット単位で以下の3つの状態のいずれかに設定されます。

注釈

設定はバケット単位となります。オブジェクト単位での設定はできません。

ステータス 説明
Unversioned 初期状態のステータス。バージョニングは無効になっています。
Enabled バージョニングが有効になっています。
Suspended バージョニングが一時停止状態になっています。
※この状態ではオブジェクトの新しいバージョンが作成されることはありません。また、過去のバージョンが自動的に削除されることもありません。

注意

一度バージョニングを有効にしたバケット(Enabledへの変更だけではなく直接Suspendedへ変更した場合も含む)はバージョニング無効の状態(Unversioned)に戻すことは出来ません。バージョニングを使用しない場合は一時停止状態(Suspended)にする必要があります。

利用方法

バケットバージョニングはS3 APIでのみ操作可能な機能です。ここではAWS CLIによるコマンド例を記載します。より詳細な情報はAWS CLIのヘルプ、またはAWSのドキュメントを参照してください。

バージョニングステータスの確認

S3API:GetBucketVersioningを使用してバージョニングステータスを取得することができます。以下は「example」という名前のバケットに対して確認する場合の各状態ごとの戻り値の例です。

無効(Unversioned)の場合

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api get-bucket-versioning --bucket example
$
※戻り値なし

有効(Enabled)の場合

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api get-bucket-versioning --bucket example
{
    "Status": "Enabled"
}

一時停止(Suspended)の場合

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api get-bucket-versioning --bucket example
{
    "Status": "Suspended"
}
バージョニングを有効にする

S3API:PutBucketVersioningを使用してバージョニングを有効にすることができます。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api put-bucket-versioning --bucket example --versioning-configuration Status=Enabled
バージョニングを一時停止する

S3API:PutBucketVersioningを使用してバージョニングを一時停止状態にすることができます。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api put-bucket-versioning --bucket example --versioning-configuration Status=Suspended
バージョニングされたオブジェクト一覧を取得する

S3API:ListObjectVersionsを使用してバージョニングされたオブジェクトのバージョン一覧を取得できます。

注釈

通常のオブジェクトリスト取得API(S3API:ListObjects)では取得できないのでご注意ください。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api list-object-versions --bucket example --prefix test0001-cp.png
{
    "Versions": [
        {
            "ETag": "\"824154963b82c7f725b058da598a4e20\"",
            "Size": 2844633,
            "StorageClass": "STANDARD",
            "Key": "test0001-cp.png",
            "VersionId": "39383331303836383534303238353939393939395333503031202039332e3132303535343037352e313336",
            "IsLatest": true,
            "LastModified": "2023-07-08T03:10:59.637000+00:00",
            "Owner": {
                "DisplayName": "",
                "ID": ""
            }
        },
        {
            "ETag": "\"824154963b82c7f7250b85da598a4e20\"",
            "Size": 28446009,
            "StorageClass": "STANDARD",
            "Key": "test0001-cp.png",
            "VersionId": "null",
            "IsLatest": false,
            "LastModified": "2023-07-04T05:50:52.894000+00:00",
            "Owner": {
                "DisplayName": "",
                "ID": ""
            }
        }
    ]
}
バージョニングされたオブジェクトを削除する

S3API:DeleteObjectを使用してバージョニングされたオブジェクトを削除することができます。

パラメータ versionId を指定することで任意のバージョンのオブジェクトを削除することができます。 versionId を指定しない場合は最新のバージョンのオブジェクトが削除されます。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api delete-object --bucket example --key test0001-cp.png --version-id 39383331303836383534303238353939393939395333503031202039332e3132303535343037352e313336
{
    "VersionId": "39383331303836383534303238353939393939395333503031202039332e3132303535343037352e313336"
}
特定のバージョンのオブジェクトを取得する

S3API:GetObjectを使用してバージョニングされたオブジェクトを取得することができます。

パラメータ versionId を指定することで任意のバージョンのオブジェクトを取得することができます。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api get-object --bucket example --key test0001-cp.png --version-id 39383331303836383534303238353939393939395333503031202039332e3132303535343037352e313336  /tmp/outputfile.png
特定のバージョンのオブジェクトで復元する

S3API:CopyObjectを使用して特定のバージョンのオブジェクトを復元することができます。 copy-source パラメータのオブジェクト名に versionId を指定する必要があります。

注意

S3API:CopyObjectコマンドは、コピー元のバケット及びオブジェクトの読み取り権限と、コピー先のバケット及びオブジェクトへの書き込み権限の両方を持つアクセスキー・シークレットキーのペアが必要になります。

$ aws --endpoint-url="https://s3.isk01.sakurastorage.jp" s3api copy-object --bucket example --copy-source example/test0001-cp.png?versionid=39383331303836383534303238353939393939395333503031202039332e3132303535343037352e313336 --key test0001-cp.png
{
    "VersionId": "39383331303834363232313332323939393939395333503031202039332e3132303538383037322e313338",
    "CopyObjectResult": {
        "ETag": "\"824154963b82c7f725b085da598a4e20\"",
        "LastModified": "2023-07-10T09:22:58.631000+00:00"
    }
}
  • --bucket パラメータはコピー先のバケット名となります。
  • --copy-source パラメータはコピー元のバケット名、オブジェクト名及びバージョンIDを指定します(例: <bucket>/Key?versionId=XXXXXXXXX)。
  • --key パラメータはコピー先のオブジェクト名となります。既存のオブジェクト名を指定した場合上書きされます。
  • その他詳細はawscli copy-objectのヘルプを参照してください。