Files SDK - API เดียวสำหรับ blob storage ทุกประเภท
(files-sdk.dev)- "Write Once, Store Anywhere"
- จัดการ object/blob storage 29 ประเภท เช่น S3, R2, GCS, Azure ด้วย SDK แบบรวมศูนย์เพียงตัวเดียว
- วาง อะแดปเตอร์มากกว่า 40 ตัว ไว้หลังอินเทอร์เฟซเดียว และหากเปลี่ยนเฉพาะอะแดปเตอร์ก็สามารถคงจุดเรียกใช้งานทั้งหมดเดิมไว้ได้
- จัดการ upload, download, head, exists, copy, move, list, delete ด้วย การเรียกแบบเดียวกันในทุกอะแดปเตอร์
- มี escape hatch สำหรับออกไปใช้เนทีฟไคลเอนต์เมื่อจำเป็น
- หากส่งอาร์เรย์เข้ามา จะประมวลผลแบบแบตช์ภายใต้การจำกัด concurrency และการ listing จะวนลูปผ่าน async iterable
- เครื่องมือไฟล์สำหรับ AI agent: มอบความสามารถให้กับ Vercel AI SDK, OpenAI Agents, Claude และ MCP
- มาพร้อม CLI ที่สามารถใช้ทุกเมธอดเป็นคำสั่งได้
- รองรับ multipart แบบขนาน สำหรับอัปโหลด body ขนาดใหญ่หรือสตรีมไม่จำกัดโดยแบ่งเป็นหลาย part
- แสดงความคืบหน้าการอัปโหลดแบบเรียลไทม์ระดับไบต์ได้ด้วย callback เพียงตัวเดียว
- ranged read ถูกแมปกับ HTTP 206 ทำให้สามารถ seek วิดีโอ, ดาวน์โหลดต่อ, และอ่านไฟล์ส่วนหัวได้
- หากผูก lifecycle hooks อย่าง onAction·onRetry·onError ไว้ครั้งเดียวใน constructor ก็จะทำงานกับทุกอะแดปเตอร์และทุกงาน
- ใช้
sync()เพื่อมิเรอร์แบ็กเอนด์หนึ่งไปยังอีกแบ็กเอนด์ได้ โดยอัปโหลดเฉพาะส่วนที่เปลี่ยนไป ข้ามส่วนที่เหมือนกัน และล้างรายการที่หายไป พร้อมรองรับ dry-run - Native SDK ของแต่ละอะแดปเตอร์เป็น optional peer dependency จึงติดตั้งเฉพาะตัวที่ใช้งานจริง
- Repo -
haydenbleasel/files-sdk - ไลเซนส์ MIT
3 ความคิดเห็น
มีโปรเจกต์ที่คล้ายกันคือ Apache OpenDAL ครับ
ขอบคุณสำหรับข้อมูลดี ๆ ครับ
ดีครับ