AWS CLIを使ってS3上にあるファイル数とファイルサイズの合計を取得する
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に比べると料金がかかりますのでその点は注意しましょう。