Skip to content

createS3ProviderFactory

function createS3ProviderFactory(options?: S3ProviderOptions): ProviderFactory;

Defined in: src/providers/web/S3Provider.ts:282

Creates an S3-compatible provider factory.

Credentials must be supplied via the connection profile: username is the access key id and password is the secret access key. profile.host may be set to the bucket name (taking precedence over options.bucket).

Works with AWS S3 and any S3-compatible API (MinIO, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Wasabi, etc.) via options.endpoint.

ParameterType
optionsS3ProviderOptions

ProviderFactory

import { createS3ProviderFactory, createTransferClient } from "@zero-transfer/sdk";
const client = createTransferClient({ providers: [createS3ProviderFactory()] });
const session = await client.connect({
host: "my-bucket",
provider: "s3",
username: process.env.AWS_ACCESS_KEY_ID,
password: { env: "AWS_SECRET_ACCESS_KEY" },
s3: { region: "us-east-1" },
});
const client = createTransferClient({
providers: [createS3ProviderFactory({
endpoint: "https://minio.internal:9000",
pathStyle: true,
})],
});