# Files SDK - 모든 blob 스토리지를 위한 단일 API

> Clean Markdown view of GeekNews topic #30064. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=30064](https://news.hada.io/topic?id=30064)
- GeekNews Markdown: [https://news.hada.io/topic/30064.md](https://news.hada.io/topic/30064.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-06-01T09:51:02+09:00
- Updated: 2026-06-01T09:51:02+09:00
- Original source: [files-sdk.dev](https://files-sdk.dev/)
- Points: 17
- Comments: 3

## Topic Body

- "Write Once, Store Anywhere"  
- S3, R2, GCS, Azure 등 29종의 객체/blob 스토리지를 **하나의 통합 SDK**로 처리  
- **40개 이상의 어댑터**를 단일 인터페이스 뒤에 두고, 어댑터만 교체하면 모든 호출 지점을 그대로 유지 가능  
- upload, download, head, exists, copy, move, list, delete를 **모든 어댑터에서 동일한 호출**로 처리  
  - 네이티브 클라이언트가 필요할 때 빠져나가기 위한 **escape hatch** 제공  
- 배열을 넘기면 제한된 동시성하에 배치 처리하고 listing은 async iterable로 순회처리함  
- **AI 에이전트용 파일 도구**: Vercel AI SDK, OpenAI Agents, Claude 및 MCP에게 기능 제공  
- 모든 메서드를 명령으로 사용가능한 **CLI**도 같이 제공  
- 큰 body나 무제한 스트림을 여러 part로 분할 업로드하는 **병렬 multipart** 지원  
- **콜백 하나**로 byte 단위 실시간 업로드 진행률 표시 가능  
- ranged read가 **HTTP 206**에 매핑되어 video seek, 다운로드 재개, 파일 헤더 읽기 가능  
- **onAction·onRetry·onError** 라이프사이클 훅을 생성자에서 한 번만 연결해두면 모든 어댑터의 모든 작업에서 발생  
- `sync()`로 한 백엔드를 다른 백엔드에 미러링 가능, 변경된 것만 업로드하고 동일한 것은 건너뛰며 사라진 것은 정리함, **dry-run** 지원  
- 각 어댑터의 네이티브 SDK는 **선택적 peer dependency**로 실제 사용하는 것만 설치됨  
- [Repo - `haydenbleasel/files-sdk`](https://github.com/haydenbleasel/files-sdk)  
- MIT 라이선스

## Comments



### Comment 58698

- Author: sftblw
- Created: 2026-06-01T10:04:12+09:00
- Points: 2

비슷한 프로젝트로 [Apache OpenDAL](https://opendal.apache.org/) 이 있습니다.

### Comment 58714

- Author: goathead
- Created: 2026-06-01T13:53:52+09:00
- Points: 1
- Parent comment: 58698
- Depth: 1

좋은 정보 감사합니다.

### Comment 58710

- Author: linusjeh
- Created: 2026-06-01T13:29:42+09:00
- Points: 1

좋네요.
