Amazon は、S3 バケットから 500 MB を超えるファイルを含むすべてのフォルダーのリストを簡単に抽出する方法を提供していますか? また、範囲を '/files/ftp_upload/' ディレクトリに制限したいのですが、これはコストなどを計算できるようにするためです。
私はこれを試したが、あまり役に立たなかった
aws s3 ls s3://YOUR_BUCKET/YOUR_FOLDER/ --recursive --human-readable --summarize
ここでの最善のアプローチは何ですか?
答え1
S3 には「フォルダ」という概念がないため、コンソールでは、オブジェクト キーをスラッシュ (「/」) で分割して、コンソールにフォルダのようなデータのみが表示されます。そのため、「フォルダ」ごとにデータを要約するには、各オブジェクトのキーを解析する必要があります。
キープレフィックスに一致するオブジェクトのすべてのデータを取得し、ロジックと計算を実行して合計することもできますが、これは大変な作業です。
リアルタイムのデータが必要ない場合は、S3 インベントリが適切なソリューションになる場合があります。基本的に、指定された S3 バケット出力内のオブジェクトのリストが、CSV、Apache ORC、Apache Parquet の 3 つの形式のいずれかで取得されます。その後、データに基づいてはるかに簡単な計算を行うことができます。
S3 インベントリの欠点は、レポートを取得するのに 1 日ほどかかり、リアルタイムではないことです。
https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html
-- コストをより簡単に管理する方法をお探しの場合は、ユースケースを分割して、それぞれに 1 つの S3 バケットを使用することをお勧めします。その後、バケット レベルでコスト配分タグを利用できます。
また、S3 使用率レポートは、別のストレージ クラスを使用する必要があるかどうかを判断するのに役立ちます。