Gibt es eine Möglichkeit, wie ich benachrichtigt werden kann, wenn ein Upload in S3 Bucket abgeschlossen ist? Die Voraussetzung ist, dass ich den Nutzern Links bereitstellen muss, nachdem das Hochladen eines Videos im Bucket abgeschlossen ist. Standardmäßig stelle ich jetzt einen Link nach 30 Minuten Start des Videos zur Verfügung, egal ob das Video 5 Minuten zum Hochladen benötigt oder 40 Minuten. Gibt es einen Weg wie jede API, die Informationen liefert, dass der Upload abgeschlossen wurde?Benachrichtigung erhalten, wenn der Upload in Amazon S3-Bucket abgeschlossen ist
Antwort
Es gibt keine direkte Methode, die erkennen kann, ob der Upload in S3-Bucket abgeschlossen ist oder nicht. Sie können eine einfache Sache tun, die ich nach viel Forschung gefolgt habe und es funktioniert richtig.
Folgen Sie dieser link und lesen Sie die Größe der Datei nach etwa 30 Sekunden oder nach Ihrer Anforderung, wenn die Dateigröße nicht für zwei gleichzeitige Messungen geändert hat, überprüfen Sie erneut die Größe für Sicherheit, weil es aufgrund von Netzwerküberlastung sein könnte Die Größe hat sich möglicherweise für zwei gleichzeitige Messungen nicht geändert.
Sie können Amazon Lambda verwenden, um eine Nachricht an Amazon SNS zu senden (oder Sie auf andere Weise zu benachrichtigen), wenn eine Datei in S3 hochgeladen wird.
Richten Sie einen S3-Trigger für Ihre Lambda-Funktion ein. Sehen Sie dieses Tutorial: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser.html
Innerhalb Ihrer Lambda-Funktion, senden Sie Ihre Benachrichtigung. Sie können SNS, SES, SQS, etc. verwenden
Benachrichtigungen können in Amazon S3 ausgelöst werden, wenn eine der folgenden Voraussetzungen erfüllt sind:
s3:ObjectCreated:*
s3:ObjectCreated:Put
s3:ObjectCreated:Post
s3:ObjectCreated:Copy
s3:ObjectCreated:CompleteMultipartUpload
s3:ObjectRemoved:*
s3:ObjectRemoved:Delete
s3:ObjectRemoved:DeleteMarkerCreated
s3:ReducedRedundancyLostObject
Benachrichtigungen über drei Ziele gesendet werden:
- Amazon Simple Notification Service (SNS), die in-turn kann Benachrichtigungen per E-Mail senden, HT TP/S Endpunkt, SMS, mobile Push-Benachrichtigung
- Amazon Simple Queuing Service (SQS)
- Amazon Lambda (zur Zeit nicht in allen Regionen verfügbar)
See: Configuring Amazon S3 Event Notifications
Die am besten geeignete Wahl hängt von Ihrer Programmiervorliebe ab und davon, wie Ihre App geschrieben ist:
- Verwenden SNS auf einen HTTP-Endpunkt schieben einige Code in der App
- schreiben einige Code auslösen periodisch eine SQS-Warteschlange
- Schreibe eine Lambda-Funktion in Node.js oder Java
Einmal ausgelöst zu überprüfen , Ihr Code müsste dann identifizieren, wer das Video hochgeladen hat, ihre Benutzerdetails abrufen und ihnen dann eine E-Mail-Benachrichtigung senden.Dies wäre am einfachsten, wenn Sie den Schlüssel (Dateiname) des hochgeladenen Objekts steuern, da dies dazu beiträgt, den Benutzer zu identifizieren, der benachrichtigt werden soll.
- 1. Amazon s3 boto3: Prüfe, ob der Upload abgeschlossen ist
- 2. Amazon S3: Können Kunden die Datei sehen, bevor Upload abgeschlossen
- 3. UICollectionView - Erhalten Sie einen Rückruf, wenn der Ladevorgang abgeschlossen ist?
- 4. XMLHttpRequest Level 2 - Bestimmen, ob der Upload abgeschlossen ist
- 5. Wenn SendAsync abgeschlossen ist?
- 6. Wie Benachrichtigung erhalten, die eine System.Threading.Tasks.Task abgeschlossen hat
- 7. XHR-Fortschrittsereignis wird nicht ausgelöst, bis der Upload abgeschlossen ist?
- 8. Rückruf erhalten, wenn asynchrone Aufgaben abgeschlossen sind
- 9. Benachrichtigung erhalten, wenn ein Befehl in der Anwendung ausgeführt wird
- 10. Amazon S3 Upload Zugriff verweigert
- 11. LINUX: wie zu erkennen, dass FTP-Datei-Upload abgeschlossen ist
- 12. AmazonS3Client.listObjects() Problem mit großen s3bucket
- 13. cURL - Benachrichtigung über Upload-Fortschritt
- 14. Push-Benachrichtigung funktioniert nicht in Amazon SNS
- 15. So erhalten Sie Benachrichtigung/Ereignis, wenn eine App geöffnet ist
- 16. Ajax erkennen, wenn von Senden abgeschlossen ist
- 17. AjaxControlToolkit: error Upload abgeschlossen Ereignis auslöst und neuen Upload
- 18. Woher weiß ich, wann ein Amazon EC2-Vorgang abgeschlossen ist?
- 19. Benutzer erhalten Benachrichtigung, wenn Postgresql-Datenbank aktualisiert
- 20. Erhalten einer Benachrichtigung, wenn mein System einfriert
- 21. Benachrichtigung erhalten, wenn Fokusstufe geändert wird
- 22. Java FTP-Upload abgeschlossen aber nicht zurück
- 23. Android Amazon s3 Upload Teilgröße
- 24. Amazon S3 POST-Upload in iOS
- 25. Abrufen der Datei-URL nach dem Upload amazon s3
- 26. reagieren-Native-Onesignal erhalten Push-Benachrichtigung ohne Öffnen der Benachrichtigung
- 27. So erhalten Sie eine Benachrichtigung vom Drucker, wenn die physische Seite/der Auftrag vollständig ist
- 28. Wie erkennt man, wenn innerHTML abgeschlossen ist
- 29. Wie überprüfen, wenn Javascript abgeschlossen ist
- 30. Anruffunktion, wenn der Superjob eines Sidekiq-Superworker abgeschlossen ist
Ich kann feststellen, dass eine neue Datei hochgeladen wird, aber ich möchte eine Benachrichtigung, wenn der Upload abgeschlossen und nicht gestartet ist. –
Kann die S3-Benachrichtigung nicht direkt an SNS gesendet werden, ohne Lambda durchlaufen zu müssen? –
@asusgates das Lambda wird ausgelöst, wenn die Datei vollständig hochgeladen wurde. –