Diese Seite dokumentiert
@squarecloud/blob v4. Du aktualisierst von v3? Lies den Migrationsleitfaden v3 → v4.@squarecloud/blob ist das offizielle JavaScript SDK für Square Cloud Blob Storage. Es deckt jeden Endpoint der Blob API sowie das S3-Gateway ab.
Voraussetzungen
- Node.js 20 oder neuer, oder ein beliebiger moderner Browser. Das SDK verwendet nur
fetch,FormDataundBlob. - Wird als ESM und CommonJS ausgeliefert, mit null Laufzeitabhängigkeiten.
@aws-sdk/client-s3ist eine optionale Peer-Abhängigkeit, die nur benötigt wird, wenn dus3()aufrufst.
Installation
- npm
- yarn
- pnpm
- bun
Client erstellen
- ESM / TypeScript
- CommonJS
Konstruktor
Zugangsdaten
Die Zugangsdaten werden unverändert im HeaderAuthorization gesendet, ohne das Präfix Bearer.
Was du nicht konfigurieren kannst
maxRetries ist die einzige Option. Der Client akzeptiert nicht:
- Eine Basis-URL. Sie ist fest auf
https://blob.squarecloud.app/v1/gesetzt. - Ein eigenes
fetch. Anfragen verwenden das globalefetch. - Ein Timeout oder ein
AbortSignal. Ein Aufruf dauert so lange, wiefetchwartet, und es gibt keine Möglichkeit, ihn abzubrechen. - Eigene Header.
Methoden
Jede Methode gibt einfache Daten zurück (keine Klassen), außers3(), das einen S3Client zurückgibt. Optionen und Ergebnisse verwenden die eigenen Feldnamen der API, meist in snake_case (security_hash, expires_at), sodass die Blob-API-Referenz unverändert gilt.
Das Paket exportiert außerdem
SquareCloudBlobError, den Typ BlobErrorCode und jeden Options- und Ergebnistyp (PutOptions, PutResult, ListedObject, ObjectInfo, Share, Rule, …). Siehe Fehler.
Objekt-IDs
Jedes Objekt wird durch eine opake ID identifiziert, etwapub/... für ein öffentliches oder prv/... für ein privates Objekt.
- Speichere die ID genau so, wie sie zurückgegeben wird. Baue nie eine von Hand und parse sie nie.
- Eine Änderung von
privateoderexpireändert die ID. Ersetze deine gespeicherte ID immer durch die, dieupdate()zurückgibt. - Verwende die
urlaus der Antwort, statt URLs selbst zu bauen. Private Objekte habenurl: null: Hol dir einen Link mitdownloadUrl()oder über eine Freigabe.

