Skip to main content
Blob Storage hat ein S3-kompatibles Gateway, das mit jedem S3-Client funktioniert. Das SDK gibt dir seine Zugangsdaten oder einen fertigen S3Client aus dem AWS SDK.
Beide Methoden benötigen einen API-Schlüssel. Ein mit einem Upload-Token erstellter Client erhält 403 UPLOAD_TOKEN_NOT_ALLOWED, und ein Schlüssel in einem alten Format erhält LEGACY_API_KEY.

s3()

s3() gibt einen S3Client aus @aws-sdk/client-s3 zurück, bereits konfiguriert mit Endpoint, Region und Zugangsdaten des Gateways sowie mit forcePathStyle: true. @aws-sdk/client-s3 ist eine optionale Peer-Abhängigkeit: Installiere sie nur, wenn du s3() verwendest. Sie wird erst bei Bedarf geladen, sodass das SDK selbst frei von Abhängigkeiten bleibt.

Buckets

Wie S3-Keys auf Objekte abgebildet werden, erfährst du unter Buckets und Keys, und was das Gateway akzeptiert, unter Unterstützte Operationen.

s3Credentials()

Für andere S3-Clients (aws-cli, rclone, boto3, …) gibt s3Credentials() das rohe Schlüsselpaar zurück:
Verwende bei jedem anderen Client Path-Style-Adressierung.
secret_access_key gewährt denselben Zugriff wie der API-Schlüssel. Behalte ihn auf dem Server und bewahre ihn wie den Schlüssel selbst auf. Das Widerrufen oder Erneuern des API-Schlüssels macht auch das Paar ungültig.

Caching

Das Paar ist pro API-Schlüssel deterministisch, daher cacht das SDK es pro Client-Instanz: s3Credentials() und s3() rufen die API einmal auf, und spätere Aufrufe verwenden das Ergebnis wieder. Ein fehlgeschlagener Aufruf wird nicht gecacht, sodass der nächste Aufruf es erneut versucht.
Die Route für Zugangsdaten akzeptiert nur 10 Anfragen pro Stunde. Erstelle einen einzigen SquareCloudBlob-Client und verwende ihn wieder, statt pro Anfrage einen neuen zu erstellen.
API-Referenz: S3 Credentials.