Lambdaでサイズを変更するよりも、ファイルをS3にアップロードするシステムの最良の設計は何ですか。
サイズ変更ラムダ関数のトリガーを複数回防ぐために、オブジェクトキーに一意の識別子を使用して、サイズ機能をトリガーする前に存在するかどうかを確認できます。

ファイルをS3にアップロードし、ラムダ関数でサイズ変更するシステムの1つの設計があります。

ユーザーはファイルをS3にアップロードし、S3「Put」イベントをトリガーします。
S3イベントは、アップロードされたファイルの処理を担当するLambda関数（「コントローラー」機能と呼びましょう）を呼び出します。
コントローラー関数は、一意の識別子（タイムスタンプなど）を生成し、元のファイルキーに追加します。
コントローラー関数は、新しいキーを持つオブジェクトがS3に存在するかどうかを確認します。
オブジェクトが存在しない場合、コントローラー関数は、新しいキーを入力とともに、サイズ変更ラムダ関数（「リセイザー」関数と呼びましょう）をトリガーします。
Resizer関数はファイルを変更し、新しいキーの下にS3に保存します。
オブジェクトが既に存在する場合、コントローラー関数は終了し、リサイザー関数をトリガーしません。
この設計により、Resizer関数は一意のファイルごとに1回のみトリガーされ、サイズ変更されたファイルが一意のキーの下に保存されます。