2017-01-16 6 views
0

Amazon AWSサービスS3を使用する場合、バケット内のすべてのファイルのストレージクラスが「標準」に設定されているかどうかを簡単に確認できますか? ?amazon S3バケットの「標準」ストレージクラスに設定されていないファイルを確認する方法

ファイルが「標準 - アクセス頻度の低下」または「冗長性の低下」に設定されている場合は、これらのファイルをすべてリストしたいので、ストレージクラスを「標準」に変更できます。

--------私は上記の操作を行うことができAWS CLIコマンドを、作成した---------

EDIT。以下のようになります:

AWS s3apiリスト・オブジェクト--bucket myBucketName --query '目次[] {キー:キー} [STORAGECLASS = STANDARD?!]。'

(標準では `で囲む必要があります何らかの理由で表示されません)。

しかし、このような要求は、何百万ものファイルを含む非常に大きなバケットにかかると考えました。上記の行が5個のファイルを返す場合は、5個のリクエストに対して料金が請求されるか、検索でアクセスされるすべてのファイルに対して請求されますか?

答えて

0

新しい"inventory" serviceをS3に使用することをお勧めします。 AWS WebコンソールにアクセスしてS3バケット管理ページを参照する場合(新しいスタイルコンソールを使用する必要がある場合)インベントリを選択し、エクスポートを設定できます。ここで簡単にストレージクラスを選択できます。

NB:NEEDSにエクスポートするバケットで、在庫のエクスポートを受け取るための適切な権限を持つこと。バケットポリシーの例は、S3 documentationにあります。

+0

私はすべての私のファイルのストレージクラスを変更することができますが、私は "標準"に設定されていないすべてのファイルのリストを表示することができるスクリプトを作成することです。 Fxを押して、誰かがストレージクラスを設定した新しいファイルを追加したかどうかを確認します。誤って「冗長性を減らしました」。 AWS CLIを介してPerhabs? – Michael

+0

AWS CLIを使用できますが、バケット内のオブジェクトの量によっては非常に高価になります。 24-48時間待つことができれば、バケットインベントリを使用してリストを取得するのにそれほど安価ではありません(要因1000)。 – Exelian

0

しかし、このような要求は、何百万ものファイルを持つ非常に大きなバケットにかかると考えました。上記の行が5個のファイルを返す場合は、5個のリクエストに対して料金が請求されるか、検索でアクセスされるすべてのファイルに対して請求されますか?

これはクライアントでフィルタリングされます。各ListObjectsリクエストには、1000個のオブジェクトが返され、各コールはデフォルトでaws s3api list-objectsになります。 us-east-1やus-east-2などの最もコストの安い地域のコストは1,000 LIST要求あたり0.005ドルです。各リクエストは1,000個のオブジェクトを返すので、2,000,000個のオブジェクトを反復するコストは約0.01ドルであり、これはかなり合理的です。他のいくつかの地域は少し高いです。

バケットと同じ領域内でEC2を実行すると、関連するデータ転送料金がかかりません。遅延が非常に小さいため、最高のパフォーマンスを発揮します。私が最近したベーマーマークは、10分以内に100万個のオブジェクトをスキャンできるはずだと示唆しています。ストレージクラスはオブジェクトリストに返される属性の1つであるため、リスティングを反復するだけで済むため、比較的高速です。

STANDARD_IAからオブジェクトを切り替える場合は慎重に使用してください。そのオブジェクトがそのクラスに少なくとも30日間滞在する前にSTANDARD_IAから移動された場合、30日間の課金が行われますそのクラスのすべてのオブジェクトに適用されます。

+0

さて、それは理にかなっています。 Tyを明確化する。 – Michael

0

私はAWS CLIを使用して終了しました。ありがとうございました:)

関連する問題