# @aws-sdk/lib-storage

> Storage higher order operation

Latest version **3.1131.0** (published 2026-09-11) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @aws-sdk/lib-storage
pnpm add @aws-sdk/lib-storage
yarn add @aws-sdk/lib-storage
bun add @aws-sdk/lib-storage
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 3.1131.0 |
| Published | 2026-09-11 |
| First published | 2020-10-19 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=20.0.0 |
| Dependencies | 6 |
| Unpacked size | 67.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3666 |
| Author | AWS SDK for JavaScript Team |
| Maintainers | amzn-oss, aws-sdk-bot |

## Links

- npm: https://www.npmjs.com/package/@aws-sdk/lib-storage
- Repository: https://github.com/aws/aws-sdk-js-v3
- Homepage: https://github.com/aws/aws-sdk-js-v3/tree/main/lib/lib-storage
- Issues: https://github.com/aws/aws-sdk-js-v3/issues
- npm.io page: https://npm.io/package/@aws-sdk/lib-storage

## Dependencies (6)

- [tslib](https://npm.io/package/tslib.md) ^2.6.2
- [buffer](https://npm.io/package/buffer.md) 5.6.0
- [events](https://npm.io/package/events.md) 3.3.0
- [@smithy/core](https://npm.io/package/@smithy/core.md) ^3.33.3
- [@smithy/types](https://npm.io/package/@smithy/types.md) ^4.17.2
- [stream-browserify](https://npm.io/package/stream-browserify.md) 3.0.0

## Recent versions

- 3.1131.0 (latest) — 2026-09-11
- 3.5.1-rc.0 (rc) — 2021-02-19
- 3.1130.0 — 2026-09-10
- 3.1129.0 — 2026-09-09
- 3.1128.0 — 2026-09-08
- 3.1127.0 — 2026-09-04
- 3.1126.0 — 2026-09-03
- 3.1125.0 — 2026-09-02
- 3.1124.0 — 2026-09-01
- 3.1123.0 — 2026-08-31
- 3.1122.0 — 2026-08-31
- 3.1121.0 — 2026-08-28
- 3.1120.0 — 2026-08-27
- 3.1119.0 — 2026-08-26
- 3.1118.0 — 2026-08-25
- … 727 more at https://npm.io/package/@aws-sdk/lib-storage/versions

## README

# @aws-sdk/lib-storage

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/lib-storage/latest.svg)](https://www.npmjs.com/package/@aws-sdk/lib-storage)
[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/lib-storage.svg)](https://www.npmjs.com/package/@aws-sdk/lib-storage)

### Upload

Upload allows for easy and efficient uploading of buffers, blobs, or streams, using a configurable amount of concurrency to perform multipart uploads where possible. This abstraction enables uploading large files or streams of unknown size due to the use of multipart uploads under the hood.

```js
import { Upload } from "@aws-sdk/lib-storage";
import { S3Client, S3 } from "@aws-sdk/client-s3";

try {
  const parallelUploads3 = new Upload({
    client: new S3({}) || new S3Client({}),
    params: { Bucket, Key, Body },

    // optional tags
    tags: [/*...*/],

    // additional optional fields show default values below:

    // (optional) concurrency configuration
    queueSize: 4,

    // (optional) size of each part, in bytes, at least 5MB
    partSize: 1024 * 1024 * 5,

    // (optional) when true, do not automatically call AbortMultipartUpload when
    // a multipart upload fails to complete. You should then manually handle
    // the leftover parts.
    leavePartsOnError: false,
  });

  parallelUploads3.on("httpUploadProgress", (progress) => {
    console.log(progress);
  });

  await parallelUploads3.done();
} catch (e) {
  console.log(e);
}
```

---
_Source: https://npm.io/package/@aws-sdk/lib-storage · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
