Files
skills/docs/persistence/storage/storage-s3
2026-05-29 08:20:56 +01:00
..
2026-05-29 08:20:56 +01:00
2026-05-29 08:20:56 +01:00

@suaveplan/storage-s3 - S3-compatible object storage adapter for @suaveplan/storage: implements AbstractStorage backed by @aws-sdk/client-s3 with presigned URLs, multipart upload, retry integration, and OTel instrumentation.

Summary

S3-compatible object storage adapter for @suaveplan/storage. Extends AbstractStorage backed by @aws-sdk/client-s3 with presigned URL generation, multipart upload, retry integration, and OpenTelemetry instrumentation.

Documentation tree

- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_ - [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_ - [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_

Installation

bun add @suaveplan/storage-s3

Quick Start

import { createS3 } from "@suaveplan/storage-s3";

const storage = createS3({
  bucket: "my-bucket",
  region: "us-east-1",
  accessKeyId: "AKIAIOSFODNN7EXAMPLE",
  secretAccessKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
});

await storage.set("hello.txt", new TextEncoder().encode("hello"));
const data = await storage.get("hello.txt");

Modules