Amazon S3 จะเพิ่มฟังก์ชันใหม่สำหรับการเขียนแบบมีเงื่อนไข

โพสต์บน: 25 พ.ย. 2024

Amazon S3 สามารถดำเนินการเขียนแบบมีเงื่อนไขเพื่อประเมินว่าอ็อบเจ็กต์ใดไม่ได้รับการแก้ไขก่อนอัปเดตได้แล้ว วิธีนี้ช่วยให้คุณดำเนินการเขียนพร้อมกันในอ็อบเจ็กต์เดียวกัน และป้องกันไม่ให้ผู้เขียนดำเนินการเขียนทับอ็อบเจ็กต์พร้อมกันหลายคนโดยไม่ตั้งใจและโดยไม่ทราบสถานะของเนื้อหาได้ คุณสามารถใช้ความสามารถนี้ได้ด้วยการติด ETag ของอ็อบเจ็กต์โดยใช้ S3 PutObject หรือคำขอ API CompleteMultiPartUpload ทั้งในบัคเก็ตสำหรับการใช้งานทั่วไปและไดเรกทอรี S3

การเขียนแบบมีเงื่อนไขช่วยลดความซับซ้อนของวิธีการที่แอปพลิเคชันแบบกระจายตัวที่มีหลายไคลเอ็นต์ใช้อัปเดตข้อมูลพร้อมกันทั่วทั้งชุดข้อมูลที่ใช้ร่วมกันได้ เช่นเดียวกับการใช้ส่วนหัวตามเงื่อนไขอย่าง HTTP if-none-match เพื่อตรวจสอบอ็อบเจ็กต์ก่อนสร้าง ลูกค้าสามารถตรวจสอบการเขียนตามเงื่อนไขกับ Etag ของอ็อบเจ็กต์ที่จะแสดงการเปลี่ยนแปลงของอ็อบเจ็กต์ได้ โดยระบุคำขอผ่านส่วนหัว HTTP if-match ในคำขอ API จากนั้น S3 จะประเมินว่า ETag ของอ็อบเจ็กต์ตรงกับค่าที่ระบุไว้ในคำขอ API หรือไม่ก่อนทำการเขียน และเพื่อป้องกันไม่ให้ไคลเอ็นต์ของคุณเขียนทับอ็อบเจ็กต์จนกว่าเงื่อนไขจะถูกต้อง ส่วนหัวที่มีเงื่อนไขใหม่นี้สามารถช่วยปรับปรุงประสิทธิภาพของการวิเคราะห์ขนาดใหญ่ แมชชีนเลิร์นนิงแบบกระจายตัว และเวิร์กโหลดอื่น ๆ ที่ขนานกันได้ด้วยการลดภาระในการเปรียบเทียบและสลับการดำเนินการกับ S3 อย่างน่าเชื่อถือ

ฟังก์ชันการเขียนแบบมีเงื่อนไขใหม่นี้มีให้บริการโดยไม่เสียค่าใช้จ่ายเพิ่มเติมในทุก AWS Region คุณสามารถใช้ AWS SDK, API หรือ CLI เพื่อดำเนินการเขียนแบบมีเงื่อนไขได้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนแบบมีเงื่อนไข โปรดไปที่คู่มือผู้ใช้ S3