การเก็บรักษาไฟล์และวงจรข้อมูล
ภาพรวม
Ocriva รองรับนโยบายการเก็บรักษาไฟล์ระดับโปรเจกต์ ซึ่งช่วยให้คุณควบคุมระยะเวลาที่เอกสารที่อัปโหลดจะถูกจัดเก็บไว้บนระบบโดยอัตโนมัติ เมื่อไฟล์ครบกำหนดอายุ ระบบจะลบออกจากที่จัดเก็บบนคลาวด์และอัปเดตสถานะเป็น retention_expired เพื่อให้พื้นที่จัดเก็บไม่บวมและข้อมูลเก่าไม่ถูกเก็บไว้เกินความจำเป็น
นโยบายนี้ตั้งค่าได้ต่อโปรเจกต์ ทำให้แต่ละโปรเจกต์กำหนดวงจรชีวิตเอกสารของตัวเองได้อย่างอิสระ
การทำงานของ File Retention
เมื่อเปิดใช้งาน การเก็บรักษาไฟล์ทำงานผ่าน Job อัตโนมัติที่ตรวจสอบไฟล์ที่หมดอายุเป็นระยะ ขั้นตอนมีดังนี้:
- ระบบค้นหาโปรเจกต์ทั้งหมดที่ตั้งค่า
fileRetentionDaysไว้ - สำหรับแต่ละโปรเจกต์ ระบบคำนวณ cutoff date = วันปัจจุบัน ลบด้วยจำนวนวันที่กำหนด
- ค้นหา Upload ที่อัปโหลดก่อน cutoff date และยังไม่ได้ลบหรือหมดอายุ
- สำหรับแต่ละไฟล์ที่พบ:
- ลดการใช้พื้นที่จัดเก็บขององค์กร
- ลบไฟล์ออกจาก 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ของแพ็กเกจ
การอ้างอิงการตั้งค่าโปรเจกต์
การตั้งค่าโปรเจกต์ต่อไปนี้เกี่ยวข้องกับการจัดการไฟล์ ทั้งหมดเป็นค่าไม่บังคับและใช้ค่าเริ่มต้นตามที่แสดง
| การตั้งค่า | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
fileRetentionDays | number | (ไม่ตั้งค่า) | จำนวนวันก่อนที่ไฟล์ที่อัปโหลดจะหมดอายุโดยอัตโนมัติ ไม่ตั้งค่าหรือ 0 หมายถึงไม่มีการหมดอายุอัตโนมัติ |
maxDocumentsPerMonth | number | 100 | ขีดจำกัดการอัปโหลดต่อเดือนสำหรับโปรเจกต์ |
allowMembersToUploadDocuments | boolean | true | สมาชิกโปรเจกต์ (ที่ไม่ใช่ Owner) สามารถอัปโหลดเอกสารใหม่ได้หรือไม่ |
allowMembersToViewAllDocuments | boolean | false | สมาชิกสามารถดูเอกสารที่อัปโหลดโดยสมาชิกคนอื่นได้หรือไม่ |
allowMembersToCreateTemplates | boolean | true | สมาชิกสามารถสร้าง Template การดึงข้อมูลใหม่ได้หรือไม่ |
maxTemplatesPerProject | number | 10 | จำนวน 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 เพื่อให้การดำเนินการยังคงต่อเนื่อง
