2011-11-02 13 views
26

Tengo un escenario en el que tenemos muchos clientes que están subiendo a s3.Notificación de nuevos objetos S3

  • ¿Cuál es el mejor enfoque para saber que hay un archivo nuevo?
  • ¿Es realista/buena idea, para mí sondear el cubo cada pocos segundos?

Respuesta

25

cambio:

Desde noviembre de 2014, S3 soporta los siguientes notificaciones de eventos:

  • s3:ObjectCreated:Put - Un objeto fue creado por una operación PUT de HTTP.
  • s3:ObjectCreated:Post - Se creó un objeto mediante la operación HTTP POST.
  • s3:ObjectCreated:Copy - Se creó un objeto con una operación de copia S3.
  • s3:ObjectCreated:CompleteMultipartUpload - Se creó un objeto al completar una carga de varias partes S3.
  • s3:ObjectCreated:* - Un objeto fue creado por uno de los tipos de eventos enumerados anteriormente o por un evento de creación de objeto similar agregado en el futuro.
  • s3:ReducedRedundancyObjectLost - Se ha perdido un objeto S3 almacenado con Redundancia reducida.

Estas notificaciones se pueden emitir a Amazon SNS, SQS o . Consulte la publicación de blog enlazada en Alan's answer para obtener más información sobre estas nuevas notificaciones.

respuesta original:

Aunque Amazon S3 tiene un sistema de notificaciones de cubo en su lugar no es compatible con las notificaciones para cualquier cosa, pero el s3: caso ReducedRedundancyLostObject (véase la sección obtener notificaciones Cubo en su API)

Actualmente, la única manera de verificar si hay objetos nuevos es sondear la cubeta en un intervalo de tiempo preestablecido o crear su propia lógica de notificación en los clientes de carga (posiblemente basados ​​en Amazon SNS).

0

Su mejor opción hoy en día es utilizar el servicio AWS Lambda. Puede escribir un Lambda utilizando node.js javascript, java o Python (probablemente se agregarán más opciones a tiempo). El servicio lambda le permite escribir funciones que responden a eventos de S3, como la carga de archivos. Rentable, escalable y fácil de usar.

Cuestiones relacionadas