AWS CLIを使ってS3上にあるファイル数とファイルサイズの合計を取得する

2017.05.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon Athenaの料金はスキャンしたデータ量で決まるので、特定のフォルダ以下のファイルサイズの合計をAWS CLIで取得する方法を調べたのですが忘れそうなのでメモしておきます。以下のコマンドでファイル一覧の後にファイル数とサイズの合計が出力されます。

aws s3 ls s3://[バケット名]/[フォルダ名]/  --recursive --human --sum

オプションの説明になります。

  • --human-readable(--humanだけでも可):ファイルサイズに単位をつけて見やすくしてくれるオプション
  • --summarize (--sumだけでも可):合計サイズとオブジェクトの数を表示してくれるオプション
  • --recursive:指定したフォルダの中にフォルダがあった場合にその中のファイルも対象にするオプション

バケットごとの使用量やファイル数はCloudWatchで見れるようです。

【新機能】S3のファイル数とバケットサイズがCloudWatchに追加されました

AWS CLIを使った場合は内部でListObjects APIやListBucket APIが呼ばれているためCloudWatchに比べると料金がかかりますのでその点は注意しましょう。

料金 - Amazon S3 | AWS

参考

ls | AWS CLI 1.11.89 Command Reference