การลบไฟล์อัตโนมัติด้วย S3

Amazon S3 (Simple Storage Service) คือบริการเก็บข้อมูลบนคลาวด์ของ Amazon Web Services (AWS) นอกจากนี้ยังสามารถตั้งค่าการลบไฟล์อัตโนมัติได้อีกด้วย ซึ่งในบทความนี้จะมาแนะนำวิธีการลบไฟล์อัตโนมัติด้วย S3 ง่ายๆ โดยมีขั้นตอนและคำอธิบายอย่างละเอียด

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ จะมาแนะนำวิธีการลบไฟล์อัตโนมัติด้วย S3 ในขั้นตอนง่ายๆ ที่จะทำให้คุณสามารถตั้งค่าการลบไฟล์ตามระยะเวลาที่ต้องการได้ด้วยตนเอง

ข้อกำหนดเบื้องต้น

※สำหรับผู้ใช้งานที่มีข้อมูลเก็บไว้ที่ S3 อยู่แล้ว ถ้าต้องการลบไฟล์โดยอัตโนมัติ ให้ข้ามไปที่ขั้นตอน การลบไฟล์อัตโนมัติด้วย S3 ได้เลย

※สำหรับผู้ที่ยังไม่มีไฟล์อยู่ใน S3 แต่ต้องการเรียนรู้วิธีการลบไฟล์อัตโนมัติด้วย S3 ต้องเตรียมไฟล์ที่จะอัปโหลดลงใน S3 โดยจะใช้เป็นไฟล์อะไรก็ได้
ในตัวอย่างนี้จะใช้เป็นไฟล์sample.pdfสามารถดาวน์โหลดได้ที่ : A Simple PDF File

การสร้าง Bucket บน S3

ผมจะสร้าง Bucket ขึ้นมาเพื่อจัดเก็บข้อมูลที่ต้องการอัปโหลด โดยจะใช้เป็นไฟล์sample.pdfอัปโหลดลงใน S3 Bucket ที่กำลังจะสร้างขึ้นในขั้นตอนนี้

ค้นหา?︎ S3» เลือกS3
search_s3

เมื่อเข้ามาที่หน้า Amazon S3 แล้ว มาที่เมนูด้านซ้าย เลือกBuckets(ค่าเริ่มต้นจะเลือกเป็นBucketsอยู่แล้ว)
menu_s3

มาที่หัวข้อ Buckets แล้วคลิกCreate bucket
del_db_s3-1

※การตั้งค่าในหน้า Create bucket มีดังนี้

การตั้งค่า General configuration ในตัวอย่างนี้คือ
Bucket name:tinnakorn-s3-schedule-delete-file(ใส่ชื่อของคุณ)
del_db_s3-2

เลื่อนลงมาด้านล่างสุด คลิกCreate bucket
del_db_s3-3

อัปโหลดไฟล์ลงใน S3 Bucket

ค้นหาชื่อ Bucket ของเรา ตัวอย่างนี้คือtinnakorn-s3-schedule-delete-file
จากนั้นคลิกที่tinnakorn-s3-schedule-delete-file
del_db_s3-4

เมื่อเข้ามาที่ Bucket ของเราแล้ว จะมีหน้าตาแบบนี้
del_db_s3-5

※การอัปโหลดไฟล์ลงใน S3 Bucket สามารถทำได้ 2 วิธีดังนี้

  • 1. อัปโหลดไฟล์โดยการลากไฟล์ลงมาที่ช่อง Objects

คลิกที่ไฟล์ที่ต้องการอัปโหลดค้างไว้ แล้วลากลงมาที่ช่อง Objects ได้เลย
del_db_s3-6

  • 2. อัปโหลดไฟล์โดยการ Browse files

คลิกUploadที่ปุ่มสีส้มหรือปุ่มสีเทาด้านล่างก็ได้
del_db_s3-7

คลิกAdd files(ถ้าเลือก Add folder จะเป็นการอัปโหลดแบบโฟลเดอร์)
del_db_s3-8

เลือกไฟล์ที่ต้องการอัปโหลด ตัวอย่างนี้คือไฟล์sample.pdf
del_db_s3-9

เมื่อเลือกไฟล์ที่ต้องการอัปโหลดเสร็จแล้ว คลิกUpload
del_db_s3-10

เมื่อเสร็จแล้วจะมาหน้านี้ ให้คลิกCloseได้เลย
del_db_s3-11

จากนั้นก็จะมาที่หน้านี้ การอัปโหลดเสร็จสิ้นแล้ว
del_db_s3-12

การลบไฟล์อัตโนมัติด้วย S3

เมื่อสร้าง Bucket และอัปโหลดข้อมูลลงใน Bucket ของเราแล้ว ให้เริ่มสร้างและตั้งค่าการลบไฟล์อัตโนมัติด้วย S3 ได้เลย

มาที่หัวข้อ Management แล้วคลิกที่Create lifecycle ruleอันไหนก็ได้
del_db_s3-13

※การตั้งค่าในหน้า Create lifecycle rule มีดังนี้

การตั้งค่า Lifecycle rule configuration ในตัวอย่างนี้คือ
Lifecycle rule name:1 day delete(ใส่ชื่อ Lifecycle rule ของคุณ)

Choose a rule scope:⚫ Apply to all objects in the bucket
Check✅ I acknowledge that this rule will apply to all objects in the bucket.
del_db_s3-14

ในกรณีที่เลือก Limit the scope of this rule using one or more filters เป็นการเลือกลบไฟล์แบบกำหนดเองได้ เช่นถ้ามีไฟล์อยู่ในโฟลเดอร์ ก็สามารถกำหนด Path หรือที่อยู่ไฟล์ ที่ต้องการลบไฟล์ได้ เป็นต้น


การตั้งค่า Lifecycle rule actions ในตัวอย่างนี้คือ
✅ Expire current versions of objects

การตั้งค่า Expire current versions of objects ในตัวอย่างนี้คือ
Days after object creation:1
del_db_s3-15

ตรวจสอบข้อมูลการตั้งค่าที่ Review transition and expiration actions
จากนั้นคลิกCreate rule
del_db_s3-16

เมื่อมาหน้านี้แล้ว การสร้าง Lifecycle rule และตั้งค่าการลบไฟล์อัตโนมัติด้วย S3 นั้น เสร็จสมบูรณ์ จากนั้นรอจนครบ 1 วัน ไฟล์ใน Bucket ของเราก็จะถูกลบไปโดยอัตโนมัติ
del_db_s3-17

สรุป

บทความนี้เราได้แสดงวิธีการลบไฟล์อัตโนมัติด้วย S3 เรียบร้อยแล้ว โดยสามารถนำไปประยุกต์ใช้ต่อในอนาคตได้ตามต้องการและตามความเหมาะสมของงาน การตั้งค่านี้อำนวยความสะดวกให้เราได้ เมื่อเราต้องการลบข้อมูลในระยะเวลาที่กำหนด เราไม่ต้องมานั่งนับวันรอที่จะต้องมาลบข้อมูลด้วยตัวเอง แต่สามารถตั้งค่าจาก Management ใน S3 Bucket ของเราได้เลย

นอกจากนี้ เมื่อใช้งานร่วมกับการเผยแพร่ทางเว็บโดยใช้ S3 คุณสามารถสร้างเว็บไซต์ที่สามารถดาวน์โหลดไฟล์ในช่วงระยะเวลาหนึ่งได้อย่างง่ายดาย

บทความที่เกี่ยวข้อง