Ocriva Logo

Documents

การเก็บรักษาไฟล์และวงจรข้อมูล

กำหนดค่าการล้างไฟล์อัตโนมัติและจัดการวงจรเอกสารในโปรเจกต์

file-retentiondata-lifecyclecleanupstorage

Published: 4/3/2026

การเก็บรักษาไฟล์และวงจรข้อมูล

ภาพรวม

Ocriva รองรับนโยบายการเก็บรักษาไฟล์ระดับโปรเจกต์ ซึ่งช่วยให้คุณควบคุมระยะเวลาที่เอกสารที่อัปโหลดจะถูกจัดเก็บไว้บนระบบโดยอัตโนมัติ เมื่อไฟล์ครบกำหนดอายุ ระบบจะลบออกจากที่จัดเก็บบนคลาวด์และอัปเดตสถานะเป็น retention_expired เพื่อให้พื้นที่จัดเก็บไม่บวมและข้อมูลเก่าไม่ถูกเก็บไว้เกินความจำเป็น

นโยบายนี้ตั้งค่าได้ต่อโปรเจกต์ ทำให้แต่ละโปรเจกต์กำหนดวงจรชีวิตเอกสารของตัวเองได้อย่างอิสระ


การทำงานของ File Retention

เมื่อเปิดใช้งาน การเก็บรักษาไฟล์ทำงานผ่าน Job อัตโนมัติที่ตรวจสอบไฟล์ที่หมดอายุเป็นระยะ ขั้นตอนมีดังนี้:

  1. ระบบค้นหาโปรเจกต์ทั้งหมดที่ตั้งค่า fileRetentionDays ไว้
  2. สำหรับแต่ละโปรเจกต์ ระบบคำนวณ cutoff date = วันปัจจุบัน ลบด้วยจำนวนวันที่กำหนด
  3. ค้นหา Upload ที่อัปโหลดก่อน cutoff date และยังไม่ได้ลบหรือหมดอายุ
  4. สำหรับแต่ละไฟล์ที่พบ:
    • ลดการใช้พื้นที่จัดเก็บขององค์กร
    • ลบไฟล์ออกจาก Cloud Storage
    • อัปเดตสถานะ Upload เป็น retention_expired
    • อัปเดต Processing History ที่เกี่ยวข้องเป็น retention_expired ด้วย

IMPORTANT

การลบออกจาก Storage เป็นการถาวร ไม่สามารถกู้คืนไฟล์ที่หมดอายุได้ ตรวจสอบให้แน่ใจว่าระยะเวลาเก็บรักษาที่ตั้งไว้นานพอสำหรับ workflow ขององค์กรก่อนเปิดใช้งาน


การตั้งค่า fileRetentionDays

นโยบายการเก็บรักษาไฟล์ตั้งค่าในระดับโปรเจกต์ผ่านฟิลด์ settings.fileRetentionDays:

ค่าพฤติกรรม
ไม่ตั้งค่า / 0ปิดการเก็บรักษา — ไฟล์จะไม่หมดอายุโดยอัตโนมัติ
ค่าบวก (เช่น 30)ไฟล์ที่เก่ากว่า N วันจะถูกลบโดยอัตโนมัติ

ตั้งค่าผ่าน API (สร้างหรืออัปเดตโปรเจกต์):

{
  "settings": {
    "fileRetentionDays": 90
  }
}

ตัวอย่างเช่น หากตั้ง fileRetentionDays: 90 ไฟล์ทุกชิ้นที่อัปโหลดมากกว่า 90 วันที่แล้วจะถูกลบในรอบ Job ถัดไป

NOTE

ไฟล์ที่มีสถานะ retention_expired อยู่แล้ว หรือถูกลบไปแล้ว (isDeleted: true) จะถูกข้ามโดย Job อัตโนมัติ — ไม่มีการประมวลผลซ้ำ การตั้งค่า fileRetentionDays บนโปรเจกต์ที่มีอยู่จะมีผลทันทีในรอบ Job ถัดไป — ไฟล์ที่เก่ากว่าเกณฑ์ที่กำหนดอยู่แล้วจะถูกลบภายในหนึ่งนาทีหลังจากบันทึกค่า


สถานะที่เกี่ยวข้องกับ Retention

สถานะความหมาย
retention_expiredไฟล์หมดอายุตามนโยบาย ถูกลบออกจาก Storage แล้ว แต่ยังมี metadata อยู่ในระบบ

ข้อมูล metadata เช่น ชื่อไฟล์ ขนาด วันที่อัปโหลด และผลการประมวลผล OCR ยังคงอยู่ในฐานข้อมูลเพื่อการตรวจสอบย้อนหลัง เฉพาะไฟล์จริงบน Storage เท่านั้นที่ถูกลบ


ผลกระทบต่อพื้นที่จัดเก็บ

เมื่อไฟล์หมดอายุ ระบบจะอัปเดตการใช้พื้นที่จัดเก็บขององค์กรโดยอัตโนมัติ:

  • ลดการใช้งาน Storage — ขนาดไฟล์ที่ถูกลบจะถูกหักออกจาก quota ขององค์กร
  • เพิ่มพื้นที่ว่าง — ทำให้สามารถอัปโหลดเอกสารใหม่ได้ภายในขีดจำกัด maxStorage ของแพ็กเกจ

การอ้างอิงการตั้งค่าโปรเจกต์

การตั้งค่าโปรเจกต์ต่อไปนี้เกี่ยวข้องกับการจัดการไฟล์ ทั้งหมดเป็นค่าไม่บังคับและใช้ค่าเริ่มต้นตามที่แสดง

การตั้งค่าประเภทค่าเริ่มต้นคำอธิบาย
fileRetentionDaysnumber(ไม่ตั้งค่า)จำนวนวันก่อนที่ไฟล์ที่อัปโหลดจะหมดอายุโดยอัตโนมัติ ไม่ตั้งค่าหรือ 0 หมายถึงไม่มีการหมดอายุอัตโนมัติ
maxDocumentsPerMonthnumber100ขีดจำกัดการอัปโหลดต่อเดือนสำหรับโปรเจกต์
allowMembersToUploadDocumentsbooleantrueสมาชิกโปรเจกต์ (ที่ไม่ใช่ Owner) สามารถอัปโหลดเอกสารใหม่ได้หรือไม่
allowMembersToViewAllDocumentsbooleanfalseสมาชิกสามารถดูเอกสารที่อัปโหลดโดยสมาชิกคนอื่นได้หรือไม่
allowMembersToCreateTemplatesbooleantrueสมาชิกสามารถสร้าง Template การดึงข้อมูลใหม่ได้หรือไม่
maxTemplatesPerProjectnumber10จำนวน Template สูงสุดที่อนุญาตในโปรเจกต์

แนวทางปฏิบัติที่ดี

  • ตั้งค่า Retention ให้สอดคล้องกับความต้องการทางธุรกิจ — หากต้องตรวจสอบย้อนหลัง 1 ปี อย่าตั้งค่าน้อยกว่า 365 วัน
  • ดาวน์โหลดผลลัพธ์ OCR ก่อนไฟล์หมดอายุ — ผล JSON/CSV จาก Processing History สามารถ Export ได้ก่อนที่ไฟล์ต้นฉบับจะถูกลบ
  • ใช้ Retention สั้นสำหรับโปรเจกต์ที่มีปริมาณสูง — โปรเจกต์ที่ประมวลผลเอกสารจำนวนมากต่อวันอาจเพิ่มพื้นที่จัดเก็บได้อย่างรวดเร็ว การตั้ง Retention 30–60 วันช่วยคุมค่าใช้จ่าย Storage
  • ปล่อยค่าว่างสำหรับโปรเจกต์ที่ต้องการเก็บระยะยาว — หากโปรเจกต์ต้องการเก็บข้อมูลตลอดไป ไม่ต้องตั้งค่า fileRetentionDays เลย
  • ตรวจสอบ Storage ใน Dashboard เป็นประจำ — ดูตัวเลขการใช้พื้นที่จัดเก็บในหน้า Billing เพื่อวางแผนการจัดการล่วงหน้า

ข้อควรระวัง

WARNING

การลด fileRetentionDays ของโปรเจกต์ที่มีอยู่แล้วจะทำให้ไฟล์เก่าจำนวนมากอาจถูกลบในรอบ Job ถัดไป ตรวจสอบปริมาณไฟล์ที่จะได้รับผลกระทบก่อนลดค่า Retention ในโปรเจกต์ที่ใช้งานอยู่

หาก Job การเก็บรักษาล้มเหลวสำหรับไฟล์ใดไฟล์หนึ่ง ระบบจะบันทึกคำเตือนและข้ามไปยังไฟล์ถัดไปแทนที่จะหยุดทั้ง Job เพื่อให้การดำเนินการยังคงต่อเนื่อง