Benachrichtigung über neue S3-Objekte
Habe ich ein Szenario, wo haben wir viele Kunden hochladen in s3.
- Was ist der beste Ansatz, um zu wissen, dass es eine neue Datei?
- Ist es realistisch/gute Idee, für mich Umfrage die Eimer immer paar Sekunden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
UPDATE:
Seit November 2014, S3 unterstützt die folgenden Ereignis-Benachrichtigungen:
s3:ObjectCreated:Put
– Ein Objekt wurde von einem HTTP-PUT-Vorgang.s3:ObjectCreated:Post
– Ein Objekt wurde erstellt von HTTP-POST-operation.s3:ObjectCreated:Copy
– Ein Objekt erstellt wurde eine S3-copy-Vorgang.s3:ObjectCreated:CompleteMultipartUpload
– Ein Objekt wurde durch die Fertigstellung der S3-multi-Teil hochladen.s3:ObjectCreated:*
– Ein Objekt wurde von einem event-Typen aufgelistet, über oder durch ein ähnliches Objekt erstellen Veranstaltung, die in Zukunft aufgenommen.s3:ReducedRedundancyObjectLost
– Ein S3-Objekt gespeichert mit Reduzierter Redundanz verloren gegangen.Diese Benachrichtigungen ausgegeben werden können,Amazon SNS, SQS oder Lambda. Überprüfen Sie heraus das blog-post, stehen in Alan ' s Antwort für weitere Informationen über diese neuen Benachrichtigungen.
Original Antwort:
Obwohl Amazon S3 hat einen Eimer Benachrichtigungen system es nicht unterstützt Benachrichtigungen für nichts, aber die s3:ReducedRedundancyLostObject Ereignis (siehe die GET Bucket Benachrichtigung Abschnitt in Ihrer API).
Derzeit die einzige Möglichkeit zu prüfen, neue Objekte ist die Umfrage den Eimer in einem voreingestellten Zeit Intervall oder bauen Sie Ihre eigenen Benachrichtigungs-Logik in der upload-clients (eventuell auf der Amazon SNS).
Push-Benachrichtigungen sind nun integriert S3:
http://aws.amazon.com/blogs/aws/s3-event-notification/
Können Sie das senden von Benachrichtigungen an SQS-oder SNS, wenn ein Objekt erstellt, über PUT-oder POST oder eine multi-Teil-upload ist fertig.
Ihre beste option ist heute mit der AWS Lambda-service. Schreiben Sie einen Lambda-Ausdruck entweder node.js javascript, java oder Python (wahrscheinlich mehr Optionen Hinzugefügt werden, die in der Zeit).
Die lambda-Dienstes können Sie Funktionen schreiben, die auf Ereignisse reagieren von S3, wie Datei-upload. Kostengünstige, skalierbare und einfach zu verwenden.