Подтвердить что ты не робот

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

У меня есть senario, где у нас много клиентов, загружающих s3. Мой вопрос - это лучший подход к пониманию того, что есть новый файл. Является ли это реалистичной/хорошей идеей, для меня опросить ведро на несколько секунд?

4b9b3361

Ответ 1

UPDATE:

С ноября 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 или Lambda. Отправляйте сообщение в блоге, которое связано с Alan answer для получения дополнительной информации об этих новых уведомлениях.

Исходный ответ:

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

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

Ответ 2

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

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

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

Ответ 3

Ваш лучший вариант в настоящее время - использование службы AWS Lambda. Вы можете написать Lambda, используя либо node.js javascript, java или Python (возможно, во время добавления будет добавлено больше опций). Лямбда-служба позволяет вам писать функции, которые реагируют на события с S3, такие как загрузка файлов. Экономичный, масштабируемый и простой в использовании.