S3Client del AWS SDK ya preparado.
Ambos métodos necesitan una clave de API. Un cliente creado con un token de subida recibe
403 UPLOAD_TOKEN_NOT_ALLOWED, y una clave en un formato antiguo recibe LEGACY_API_KEY.s3()
s3() devuelve un S3Client de @aws-sdk/client-s3, ya configurado con el endpoint, la región y las credenciales del gateway, y con forcePathStyle: true.
@aws-sdk/client-s3 es una peer dependency opcional: instálala solo si usas s3(). Se carga de forma diferida, así que el propio SDK sigue sin dependencias.
- npm
- yarn
- pnpm
- bun
Buckets
Consulta Buckets y Keys para ver cómo se corresponden las keys de S3 con los objetos, y Operaciones compatibles para ver qué acepta el gateway.
s3Credentials()
Para otros clientes S3 (aws-cli, rclone, boto3, …), s3Credentials() devuelve el par de claves sin procesar:
Usa direccionamiento de tipo path (path-style) con cualquier otro cliente.
Caché
El par es determinista para cada clave de API, así que el SDK lo guarda en caché por instancia de cliente:s3Credentials() y s3() llaman a la API una sola vez, y las llamadas posteriores reutilizan el resultado. Una llamada fallida no se guarda en caché, así que la siguiente vuelve a intentarlo.
Referencia de la API: S3 Credentials.
