It might be useful to have an optional feature to limit the amount of downloads.
Potential benefits include
Limiting the blast radius of denial of wallet attacks
Enabling "self-destructing" download links that are valid for one download only, e.g. for sending sensitive information
Thoughts on how to implement that
Use DynamoDB table item attributes to track current and max downloads counters
Alternative: Store current and max downloads counters as object metadata on each uploaded file. Would alleviate need for separate database but would add more latency since S3 would effectively act as a database. The biggest downside I see for that option: in order to change object metadata you need to create a copy of that object.
It might be useful to have an optional feature to limit the amount of downloads.
Potential benefits include
Thoughts on how to implement that