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.
- npm
- yarn
- pnpm
- bun
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.
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.
API-Referenz: S3 Credentials.
