2016-08-15 3 views
1

Heute habe ich ein Problem festgestellt und ich bin nicht, wenn es eine Lösung oder einen Fehler gibt.Kein SQS-Ereignis veröffentlicht, wenn eine neue Datei in S3-Bucket hochgeladen wird

In unserem Projekt verwenden wir S3 und SQS und API Gateway als Schnittstelle für S3. Immer wenn eine neue Datei über das Gateway hochgeladen wird, wird ein neues Ereignis an SQS veröffentlicht und es gibt keine Probleme.

Früher habe ich heute eine neue Version unseres Dienstes bereitgestellt und konsumiert SQS Nachrichten. Um zu testen, ob alles wie erwartet funktioniert, habe ich einen neuen S3 Bucket und eine entsprechende SQS Warteschlange erstellt. Dann begann ich Objekte aus dem Produktions-Bucket in die neu erstellte zu kopieren, indem ich die Python-Bibliothek boto3 verwendete.

Nach einiger Zeit bemerkte ich, dass für einige Dateien kein SQS-Ereignis veröffentlicht wurde. Und nach Recherchen stellte sich heraus, dass alle diese Dateien größer als 8Mb sind.

Ich habe auch versucht, eine Datei mit AWS CLI hochladen nur für den Fall, aber das Ergebnis war das gleiche.

Wenn ich jedoch eine Datei von AWS-Webkonsole hochladen, kann ich SQS Ereignis veröffentlicht sehen.

So funktioniert alles, wenn sie S3 über API Gateway oder AWS Web Console aber nicht AWS CLI oder boto3 und vermutlich andere Bibliotheken hochladen. Scheint wie ein Fehler oder eine Einschränkung, aber ich konnte keine Dokumentation darüber finden.

Hat jemand ähnliches Verhalten erlebt?

Vielen Dank im Voraus für alle Tipps.

Antwort

1

Ich glaube, 8 MB ist die Größe, bei der die CLI (und SDK) beginnen wird, mehrteilige Upload-Operationen durchzuführen. Sie müssen wahrscheinlich Benachrichtigungen für das Ereignis s3:ObjectCreated:CompleteMultipartUpload in Ihrem S3-Bucket aktivieren.

+0

Werde es versuchen, danke –

+0

Ja, das hat geholfen! Danke noch einmal! –

Verwandte Themen