Уведомление о новых объектах S3

У меня есть сценарий, где у нас есть много клиентов, загружающих в s3.

  • каков наилучший подход к знанию того, что есть новый файл?
  • это реалистичная / хорошая идея, для меня, чтобы опросить ведро когда-либо несколько секунд?

3 ответов


обновление:

С ноября 2014 года, S3 поддерживает следующие уведомления:

  • s3:ObjectCreated:Put – объект был создан с помощью операции HTTP PUT.
  • s3:ObjectCreated:Post - объект был создан с помощью операции HTTP POST.
  • s3:ObjectCreated:Copy - объект был создан операция копирования S3.
  • s3:ObjectCreated:CompleteMultipartUpload – объект был создан по завершении многосоставной загрузки S3.
  • s3:ObjectCreated:* – объект был создается одним из перечисленных выше типов событий или аналогичным событием создания объекта, добавленным в будущем.
  • s3:ReducedRedundancyObjectLost – объект S3, сохраненный с уменьшенной избыточностью, был потерян.

эти уведомления могут быть выданы Amazon SNS, SQS или лямда -. Проверьте сообщение в блоге, которое связано в Алан для получения дополнительной информации об этих новых уведомлений.

Оригинал Ответ:

хотя Amazon S3 имеет систему уведомлений ведра на месте он не поддерживает уведомления ни для чего, кроме s3: ReducedRedundancyLostObject событие (см. получить уведомление ведро раздел в их API).

в настоящее время единственный способ проверить наличие новых объектов-опросить корзину в заданный интервал времени или создать собственную логику уведомлений в клиентах загрузки (возможно, на основе Amazon SNS).


Push-уведомления теперь встроены в S3:

http://aws.amazon.com/blogs/aws/s3-event-notification/

вы можете отправлять уведомления в SQS или SNS, когда объект создается с помощью PUT или POST или многосоставная загрузка завершена.


лучшим вариантом на сегодняшний день является использование сервиса AWS Lambda. Вы можете написать лямбду, используя любой узел.JS javascript, java или Python (возможно, со временем будет добавлено больше опций). Служба lambda позволяет записывать функции, которые отвечают на события из S3, такие как загрузка файлов. Рентабельный, масштабируемый и легкий для использования.