Cette page documente
@squarecloud/blob v4. Vous effectuez une mise à niveau depuis la v3 ? Lisez le guide de migration v3 → v4.@squarecloud/blob est le SDK JavaScript officiel de Square Cloud Blob Storage. Il couvre chaque endpoint de l’API Blob, ainsi que la passerelle S3.
Prérequis
- Node.js 20 ou plus récent, ou n’importe quel navigateur moderne. Le SDK n’utilise que
fetch,FormDataetBlob. - Distribué en ESM et CommonJS, avec aucune dépendance d’exécution.
@aws-sdk/client-s3est une dépendance pair optionnelle, nécessaire uniquement si vous appelezs3().
Installation
- npm
- yarn
- pnpm
- bun
Créer le client
- ESM / TypeScript
- CommonJS
Constructeur
Identifiants
L’identifiant est envoyé tel quel dans l’en-têteAuthorization, sans préfixe Bearer.
Ce que vous ne pouvez pas configurer
maxRetries est la seule option. Le client n’accepte pas :
- Une URL de base. Elle est fixée à
https://blob.squarecloud.app/v1/. - Un
fetchpersonnalisé. Les requêtes utilisent lefetchglobal. - Un timeout ou un
AbortSignal. Un appel dure aussi longtemps quefetchattend, et il n’y a aucun moyen de l’annuler. - Des en-têtes personnalisés.
Méthodes
Chaque méthode renvoie des données brutes (pas de classes), saufs3(), qui renvoie un S3Client. Les options et les résultats utilisent les noms de champs propres à l’API, le plus souvent en snake_case (security_hash, expires_at), la référence de l’API Blob s’applique donc telle quelle.
Le paquet exporte aussi
SquareCloudBlobError, le type BlobErrorCode et chaque type d’option et de résultat (PutOptions, PutResult, ListedObject, ObjectInfo, Share, Rule, …). Voir Erreurs.
IDs des objets
Chaque objet est identifié par un identifiant opaque, commepub/... pour un objet public ou prv/... pour un objet privé.
- Stockez l’identifiant exactement tel qu’il est renvoyé. Ne le construisez jamais à la main et ne l’analysez jamais.
- Modifier
privateouexpirechange l’identifiant. Remplacez toujours l’identifiant stocké par celui que renvoieupdate(). - Utilisez l’
urlde la réponse au lieu de construire des URL. Les objets privés onturl: null: obtenez un lien avecdownloadUrl()ou un partage.

