Was ist das beste Design eines Systems, das eine Datei auf S3 hochlädt, als die Größe mit Lambda zu ändern, aber mit dem gleichen Schlüssel wie hochgeladen, ohne die Größe Lambda-Funktion zweimal oder mehr auszulösen?
Eine mögliche Lösung für dieses Problem ist die Verwendung eines S3-Eimer-Event-Triggers, um die Größe der Lambda-Funktion zu ändern, wenn eine neue Datei in den S3-Eimer hochgeladen wird. Sie können das Ereignis so einstellen, dass es die Lambda-Funktion erst dann auslöst, wenn ein neues Objekt erstellt wird, nicht wenn es geändert wird. Die Lambda-Funktion kann dann die Größe der Datei ändern und die geänderte Version in den gleichen S3-Eimer speichern, indem Sie den gleichen Schlüssel wie die ursprüngliche Datei verwenden, aber mit einem anderen Dateiformat (z.B. Hinzufügen von "_Resize" zum Dateinamen). Zusätzlich können Sie eine Überprüfung der Lambda-Funktion hinzufügen, um sicherzustellen, dass die Datei nur einmal verändert wird. So können Sie beispielsweise Metadaten in den Metadaten des Objekts in S3 speichern, um anzuzeigen, ob die Datei verändert wurde oder nicht. Vor der Änderung kann die Lambda-Funktion diese Metadaten überprüfen und nur die Größe der Datei ändern, wenn sie nicht bereits verändert wurde. Durch die Kombination dieser beiden Strategien können Sie sicherstellen, dass die Lambda-Funktion nur einmal für jede neue Datei ausgelöst wird, die in den S3Eimer gestopf hochgeladen wird und dass die