storage-report
Type: Lambda function
Trigger: Scheduled EventBridge event (weekly)
Dependencies: inventory-report
Overview
This Lambda function generates a consolidated storage report for a stack, displaying storage usage across all standard and public buckets. The report is output as a single interactive HTML file using Chart.js for visualizations.
Report sections
- Aggregated totals — Storage usage across all buckets in the stack
- Per bucket totals — Storage usage broken down by individual bucket
- Per bucket / per prefix totals — Storage usage by prefix within each bucket
Prerequisites
The storage report requires S3 inventory data to be available. Before running this function:
- S3 inventory must be enabled for the buckets
- At least one inventory report must have been generated and uploaded
- The
inventory-reportfunction must have completed successfully
CLI testing
Generate a storage report for a specific stack:
mise run storage-report --stack digipres-dev1 --profile default
Parameters:
--stack— Stack name (required)--profile— AWS profile (required)
Remote trigger
mise run trigger --function storage-report --stack digipres-dev1 --profile default
Parameters:
--function— Function name (storage-report)--stack— Stack name (required)--profile— AWS profile (required)
Scheduled execution
Automatically triggered weekly by EventBridge.
Output
When successful, four files are generated:
Statistics (JSON format)
metadata/0000-00-00-LATEST/storage/stats/{stack}.json— Latest versionmetadata/YYYY-MM-DD/storage/stats/{stack}.json— Date-stamped archive
Contains raw storage metrics for programmatic access.
Report (HTML format)
reports/0000-00-00-LATEST/storage/{stack}.html— Latest versionreports/YYYY-MM-DD/storage/{stack}.html— Date-stamped archive
Interactive HTML report with Chart.js visualizations for viewing in a browser.