2015-10-07 24 views
5

S3バケット内のフォルダの名前を変更したいのですが、名前を変更するとPUTリクエストが実行され、1000リクエストあたり1セント必要です。AWS S3バケット内のフォルダの名前を変更するコスト

しかし、PUT要求はCOPYのように定義してもGETして含まれる

私の質問は、私たちがS3バケット内のフォルダの名前を変更するとき、それは新しいのすべてのサブフォルダとファイルをコピー伴わない、あります(1つのPUTリクエスト以上の費用がかかります)、または単にフォルダ内のすべてのアイテムに触れることなく名前を変更するように要求します。

+1

これは私が見ることができる最高の答えです:http://serverfault.com/a/349813 –

答えて

7

あなたがそれを見逃した場合... S3にはフォルダがありません。

オブジェクト/pics/funny/cat.jpgないファイルはフォルダ内cat.jpgと呼ばれるpicsと呼ばれる別のフォルダ内にfunnyと呼ばれます。

実際、それは18文字の名前を持つファイルです:pics/funny/cat.jpg。コンソールに表示される階層は、人間の便宜のためのものであり、コンソールに新しいフォルダを作成する機能も幻想です。

「フォルダ」の名前を変更するというのは、実際には「フォルダ」内の各オブジェクトの新しいコピーを作成して、オブジェクト名がパス内にあるように変更することを意味します。

これは、PUT/COPYリクエスト(地域によって1000ドルあたり0.005ドル)、その後に古いオブジェクト(無料)のDELETEリクエストが続いている場合に実行できます。対応するGETリクエストはありません。PUT/COPYはS3内のアトミック操作であるため、実際にデータをダウンロードして再アップロードすることは避けられます。

+0

私は、CloudBerryを使用してフォルダの名前を変更すると約80%の確信がありました。コンソールにはMOVE要求処理されて、今私は100%確信しています。また、1000回の請求につき0.005ドルか0.01ドルの費用がかかりますか? (アクセス頻度の低いアクセス) – Casper

+0

バケットのログを有効にしてログを確認して、どのような呼び出しが行われているかを確認し、詳細な請求を有効にすることができます。 –

関連する問題