UStackUStack
Files SDK icon

Files SDK

Files SDK : SDK de stockage unifié avec une API cohérente pour les backends objets/blobs (S3, R2, GCS, Azure). Entrées web natives + adaptateurs.

Files SDK

Qu’est-ce que Files SDK ?

Files SDK est un SDK de stockage unifié qui expose une API unique et cohérente pour interagir avec les backends de stockage objet et blob. L’objectif est de vous permettre d’appeler les mêmes opérations de haut niveau — telles que l’upload, le download, le list, le delete et les helpers associés — tout en utilisant différents fournisseurs en arrière-plan.

Il fonctionne en routant les requêtes via un adaptateur spécifique au fournisseur. Cela permet de garder les parties partagées des workflows de stockage stables tout en gérant les différences entre fournisseurs (comme les comportements liés aux URL ou certains cas particuliers) dans l’adaptateur plutôt que dans vos points d’appel.

Fonctionnalités principales

  • Une seule classe Files pour tous les fournisseurs : Utilisez une seule surface d’API pour les opérations de stockage courantes (upload, download, list, delete, head, exists, copy et helpers d’URL), au lieu d’écrire du code spécifique à chaque fournisseur.
  • Sélection du fournisseur via un adaptateur à l’instanciation : L’ad<|eos|>

Alternatives

  • SDK de stockage spécifiques aux fournisseurs (ex. : clients natifs S3/GCS/Azure) : Ils offrent une couverture complète des fournisseurs, mais nécessitent généralement des chemins de code différents pour chaque backend et une gestion séparée des tâches courantes.
  • Couches d’abstraction de stockage objet sans entrées web-standards : Certaines abstractions fournissent une interface unifiée, mais ne prennent pas toujours en charge le même ensemble de types d’entrée web-native ni les hypothèses d’exécution orientées fetch.
  • Bibliothèques de téléversement côté serveur avec option de backend de stockage : Utile lorsque votre objectif principal est la gestion des téléversements, mais elles n’exposent pas toujours le même ensemble d’opérations standardisées (helpers head/exists/copy/url) et l’accès via adaptateur au client natif.
  • Intégration HTTP directe aux points de terminaison objet/Blob : Si vous avez besoin d’un contrôle maximal, appeler vous-même les API HTTP des fournisseurs évite l’abstraction, mais reporte la gestion des listes, des signatures, de la normalisation des erreurs et des différences entre fournisseurs dans votre application.