To prevent triggering the resize Lambda function multiple times, you can use a unique identifier in the object key and check if it exists before triggering the resize function.

Here's one possible design of a system that uploads a file to S3 and resizes it with a Lambda function:

The user uploads a file to S3, which triggers a S3 "Put" event.
The S3 event invokes a Lambda function (let's call it the "controller" function) that is responsible for processing the uploaded file.
The controller function generates a unique identifier (e.g., a timestamp) and appends it to the original file key.
The controller function checks if an object with the new key exists in S3.
If the object does not exist, the controller function triggers the resize Lambda function (let's call it the "resizer" function) with the new key as input.
The resizer function resizes the file and stores it in S3 under the new key.
If the object already exists, the controller function terminates and does not trigger the resizer function.
This design ensures that the resizer function is triggered only once per unique file, and that the resized file is stored under a unique key.
เพื่อป้องกันไม่ให้เรียกใช้ฟังก์ชันปรับขนาด Lambda หลายครั้ง คุณสามารถใช้ตัวระบุที่ไม่ซ้ำกันในคีย์ออบเจ็กต์และตรวจสอบว่ามีอยู่หรือไม่ก่อนที่จะเรียกใช้ฟังก์ชันปรับขนาด นี่คือการออกแบบระบบที่เป็นไปได้อย่างหนึ่งซึ่งจะอัปโหลดไฟล์ไปยัง S3 และปรับขนาดด้วยฟังก์ชัน Lambda: ผู้ใช้อัปโหลดไฟล์ไปยัง S3 ซึ่งจะทำให้เกิดเหตุการณ์ "Put" ของ S3 เหตุการณ์ S3 เรียกใช้ฟังก์ชัน Lambda (หรือเรียกว่าฟังก์ชัน "ตัวควบคุม") ซึ่งมีหน้าที่ในการประมวลผลไฟล์ที่อัปโหลด ฟังก์ชันคอนโทรลเลอร์จะสร้างตัวระบุเฉพาะ (เช่น การประทับเวลา) และผนวกเข้ากับคีย์ไฟล์ต้นฉบับ ฟังก์ชั่นคอนโทรลเลอร์จะตรวจสอบว่ามีวัตถุที่มีคีย์ใหม่อยู่ใน S3 หรือไม่ หากไม่มีวัตถุอยู่ ฟังก์ชันตัวควบคุมจะทริกเกอร์ฟังก์ชันปรับขนาด Lambda (หรือเรียกว่าฟังก์ชัน "ปรับขนาด") โดยใช้คีย์ใหม่เป็นอินพุต ฟังก์ชันตัวปรับขนาดจะปรับขนาดไฟล์และจัดเก็บไว้ใน S3 ภายใต้คีย์ใหม่ หากมีวัตถุอยู่แล้ว ฟังก์ชันตัวควบคุมจะยุติลงและไม่ทริกเกอร์ฟังก์ชันตัวปรับขนาด การออกแบบนี้ช่วยให้แน่ใจว่าฟังก์ชันตัวปรับขนาดจะถูกทริกเกอร์เพียงครั้งเดียวต่อไฟล์ที่ไม่ซ้ำใคร และไฟล์ที่ปรับขนาดจะถูกเก็บไว้ภายใต้คีย์เฉพาะ
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence