In S3 if a user downloads an object, you pay for network cost associated with that download. If you utilize requester pays, then that cost is payed by the user downloading that file. The only caveat is the user must me authenticated in AWS, it cannot just be an anonymous user who is charged. This can be useful if you need to share large buckets with several objects with different users that you can just give access to. S3 event notifications allow you to generate an alert if a function in S3 takes place, such as an object being created, deleted, replicated, etc. That alert is the forwarded to S3 EventBridge which can archive and replay events. You can also utilized SNS, SQS, and Lambda, which I will get more into in a later post, this will require you create a Resource Access Policy utilizing IAM permissions to ensure S3 has the proper access to the necessary services.