
Event Notifications for Amazon S3 - degio
http://aws.amazon.com/blogs/aws/s3-event-notification/
======
dozy
I was very excited when I saw this headline, as for a while I've hosted
various things on s3 and have wanted an easy way to track when/how/by whom
those things have been downloaded. Alas, that isn't a supported...I'm looking
for something like: "s3:ObjectViewed:Get". Or am I mistaken and that already
exists in some other form...?

~~~
mritun
S3 already has a feature where you can configure per-bucket apache style
access logs which log every operation and may solve your purpose. This feature
provides realtime messaging for uploads.

~~~
dozy
I'll take it! Good to know.

------
mathgladiator
Of all the features that S3 has shipped, this is by far my favorite. I look
forward to utilizing Lambda and S3 to build an ultra cheap content management
service to drive the cost of my website management to less than a $1/mo.

~~~
kolev
How is this idea any better (and cheaper) than a static site generator like
Jekyll?

------
kolev
Nice feature, but, again, not available in CloudFormation. I understand the
challenge to coordinate releases, I can live with a week or two lag, but
usually it's months - CloudFormation still doesn't support basic AWS services.
I really am considering abandoning this gem, which is highly neglected and
underutilized. Terraform [1] looks like something I can extend myself easily
if the upstream doesn't support something just yet and contribute it as a pull
request.

[1] [https://terraform.io/](https://terraform.io/)

------
skynss
Too bad they did not differentiate between Create and Overwrite (as far as I
can tell) as that is a an important difference (I need to solve scenarios
where idempotency is needed - more than 1 worker may create exact same email
message due to fault tolerance design, but at least AND at most 1 email should
be sent to customer. I was hoping that the s3 filename/key would be the unique
identifier and if there was separate notification for overwrite than from
create, email could be sent only for create event only.)

~~~
jeffbarr
You could use S3 versioning to distinguish the two operations.

~~~
kolev
S3 versioning could be pricey and painful. Try deleting a versioned bucket! I
wrote a tool that I'm gonna open-source if my employer okays it, but the
pathetic part is that you get charged for each HTTP request - imagine a bucket
with a billion objects and a gazillion versions!

~~~
hemancuso
[http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectde...](http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html)

~~~
kolev
That's the API I use as well. The DELETEs are free, but GETs, PUTs, POSTs, and
LISTs are not [1].

[1] [http://aws.amazon.com/s3/pricing/](http://aws.amazon.com/s3/pricing/)

------
hemancuso
Very cool!

Are there any ordering guarantees for these notifications? Specifically the
order in which objects were created? It would be nice to be able to generate a
meaningful event log.

------
Yadi
This is awesome, and the cost is pretty affordable. I don't know if the
lambada feature was there before, but it's pretty cool!

~~~
mathgladiator
Lambda was announced today:
[https://news.ycombinator.com/item?id=8602936](https://news.ycombinator.com/item?id=8602936)

------
johne20
At first glance, this combined with Lambda would make for an awesome server-
less image transformation setup.

------
strick
Have I missed something or is there no way to get notified when an object gets
deleted?

~~~
zwily
Not yet.

