Bucket Versioning
การใช้งาน bucket versioning เพื่อทำ version control ให้กับแต่ละ object
bucket versioning คือการเพิ่มความปลอดภัยให้ object ต่างๆ ให้สามารถย้อนกลับ version เก่าได้ เช่น
- หากมีการ put object เข้าไปใน bucket ใหม่ด้วย key เดียวกัน -> ควรจะเป็นการแทนที object เดิม ด้วย object ใหม่ แต่เมื่อ bucket versioning เปิดอยู่ จะเป็นการเพิ่ม version ใหม่เข้าไป และเก็บ version เก่าเอาไว้อีกที
- หากมีการ delete object ใน bucket -> object ดังกล่าวควรจะหายไป แต่เมื่อ bucket versioning เปิดอยู่ จะเป็นการเก็บ object ดังกล่าวเป็น version เก่าเอาไว้
ด้วยเหตุผลข้างต้น เราจะสามารถกลับไปกู้คืน object ต่างๆใน bucket ได้ ทันที แต่ก็แลกมากับ bucket size ที่จะโตขึ้นเรื่อยๆ หาก version เก่าๆของ object ไม่ถูก delete ออกไป
การเปิดใช้งาน bucket versioning ทำได้ 2 วิธี คือ เปิดตั้งแต่ตอนสร้าง bucket โดยสามารถดูวิธีการได้จาก ขั้นตอนการสร้าง bucket หรือเปิดภายหลังจากสร้าง bucket ไปแล้วก็ได้
การเปิดภา ยหลังจะไม่ได้ทำให้ object ต่างๆ ที่ถูกแทนที่หรือลบไปแล้วกลับมาใช้งานได้
การ suspend versioning หลังจากที่เคย enable ไปแล้ว จะทำให้ไม่เกิด version ของ object เพิ่ม เมื่อมีการแทนที่หรือลบ object ออกจาก bucket จนกว่าจะเปิดกลับมาใหม่
รวมถึง version ต่างๆ จะไม่ถูกลบออกไปจาก bucket แม้จะทำการ suspend ไปแล้ว user ต้องทำการลบออกด้วยตัวเอง (วิธีการลบ object versioning)
- 1.
- 2.
กดเลือก project จากหน้า Projects Management เพื่อเข้าสู่หน้า Project Detail

Project Detail
กดเลือก menu OBJECT STORAGE - bucket เพื่อเข้าหน้า bucket list

Bucket List
กดที่ชื่อของ bucket ที่ต้องการเปิด versioning เพื่อทำการเข้าสู่หน้า bucket overview

Bucket Overview
กดปุ่ม enable ในกล่อง Versioning เพื่อเปิด menu Confirm Enable Versioning และกด CONFIRM เพื่อทำการเปิดการใช้งาน bucket versioning

Enable Bucket Versioing
เมื่อ bucket versioning enable แล้ว สามารถทดสอบได้โดยการ delete file จาก bucket โดยการใช้ CyberDuck (วิธีการ access bucket โดยใช้ CyberDuck)
เข้า CyberDuck และทำการ delete object ออกไป


หลังจาก delete object ออกไปแล้ว size ของ bucket ก็จะไม่เปลี่ยนแปลง

หากต้องการลบ version ต่างๆ ของ object ออก ให้ทำทำตามนี้
เปิดดู hidden file ใน CyberDuck และเปิดดุ versioning object


เมื่อลบ hidden object หรือ object ที่เป็น version เก่าออกไปแล้ว size ของ bucket ก็จะลดลง


