TLDR; แทนที่เลี้ยง"สร้างแฟ้ม"การแจ้งให้ทราด้วยตนเองใน"โพส lambda"มี S3 เหตุการณ์การแจ้งให้ทราบต่างๆ โดยอัตโนมัติเรียกร้องของ"การประมวลผล lambda"เมื่อแฟ้มเป้าหมายก็คือสร้างขึ้นมา ที่ lambda วิ่งหนีไปให้สมบูรณ์เมื่อทั้งสองแฟ้มที่มีอยู่จริง
docs:อเมซอน S3 สามารถส่งเหตุการณ์จะเป็น Lambda ฟังก์ชันตอนที่เป็นวัตถุถูกสร้างหรือกลบออกไป.
(1)สร้าง S3 เหตุการณ์การแจ้งให้ทราบต่างๆ: เพิ่มสองเหตุการณ์การแจ้งให้ทราบต่างๆของคุณลงถังให้หมด หนึ่ง invokes ที่กำลังประมวลผล lambda เมื่ FileA
คือถูกสร้างบน S3. อีก invokes มันตอนที่เป็น FileB
คือสร้างขึ้นมา
คุณสามารถ ตั้งค่าตัวกรอง ดังนั้นของคุณ lambda คือแจ้งเท่านั้นแน่นอน S3 การกระทำและแฟ้มรูปแบบทั้งหมดหรอก
(2)เป็นการประมวลผล lambda เช็คหาคนอื่นแฟ้มอยู่ก่อน. ที่ S3 เหตุการณ์ผ่านไป lambda มีข้อมูลเกี่ยวกับตัวกระตุ้นให้เหตุการณ์(e.g. ObjectCreated
และวัตถุ(e.g. กุญแจชื่อของเวอร์ชั่นถั etc.) ใช้ AWS SDK ต้องตรวจสอบว่าอีกแฟ้มอยู่บน S3.
ถ้าทั้งสองมีแฟ้มอยู่ก่อนแล้วงั้นถอดถอนกาวใจเต้นแทน,ไม่งั้นออกไปได้แล้ว
50%เวลาที่การประมวลผล lambda จะออกก่อน(เพราะแค่ 1 แฟ้มอยู่ก่อน). อีกครั้งที่ lambda จะวิ่งหนีตลอดทางผ่านไปกาวยเป็นกิจวัตรประจำวัน
(ข้อควรจำ:ส่วนนี้จะทำงานอย่างเดียวเท่านั้นถ้าคุณสามารถ derive หนึ่งชื่อแฟ้มจากคนอื่นซึ่งมันไม่ชัดเจนอกจากปฏิบัติการหรือความเห็น)