# @aws/s3-managed-downloader 中文文档

规范地址：https://npmcn.com/package/%40aws/s3-managed-downloader/

版本：0\.9\.0
npm 元数据更新时间：2026-10-15T22:06:40.067Z
中文译文更新时间：2026-11-07T17:11:20.685Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aws/s3-managed-downloader
原文对照：https://npmcn.com/package/%40aws/s3-managed-downloader/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：39.8 kB，19 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2018-09-11T17:24:37.057Z
- 最新版本发布：2018-09-11T17:24:37.379Z
- 近 30 天下载量：3891（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

S3 管理下载器

## 安装

```sh
npm install @aws/s3-managed-downloader
```

也可以使用：`pnpm add @aws/s3-managed-downloader`、`yarn add @aws/s3-managed-downloader`、`bun add @aws/s3-managed-downloader`

## README

# AWS SDK JavaScript S3 管理下载

JavaScript SDK管理下载可以用于自定义的S3下载. 客户端可以配置管理下下载的选项,例如块大小和同时传输的次数.

## 安装

### 在节点.js

这个软件包目前只在Node.js版本6+中工作. 由npm包管理器为Node.js安装管理下载包. 在终端窗口中输入以下命令.

```
    npm install @aws/s3-managed-download
```

## 文档

您可以为管理下载软件包找到完整的文档 [这里](https://awslabs.github.io/s3-managed-download-js/)。 。 。 .

## 配置

您可以设置最大部分大小和最大货币选项, 为管理下下载自定义部分大小和并行下载次数 。 最大PartSize 选项可以控制每个传输部分的字节大小。 最大货币选项指定将平行下载的部件数量和随时在内存中缓冲的最大部件数量.

### 导入管理下载软件包

您需要一个 S3 客户端来创建一个有管理的下载, 所以将 aws- sdk 与有管理的下载软件包一起导入 .

#### Java 脚本

```
    const S3 = require('aws-sdk/clients/s3');
    const ManagedDownloader = require('@aws/s3-managed-download').ManagedDownloader;
```

#### 类型脚本

```
    import * as S3 from 'aws-sdk/clients/s3';
    import { ManagedDownloader, GetObjectStreamInput, ManagedDownloaderOptions } from '@aws/s3-managed-download';
```

### 用默认部分大小和货币创建管理下载

创建 AWS S3 客户端,并将客户端传入"管理下载"构建器,以创建"管理下载",部分大小为 5MB,货币为 1.

#### Java 脚本

```
    const s3 = new S3();
    const managedDownloader = new ManagedDownloader(s3);
```

#### 类型脚本

```
    const s3:S3 = new S3();
    const managedDownloader:ManagedDownloader = new ManagedDownloader(s3);
```

### 创建自定义部分大小和货币管理下载

创建 AWS S3 客户端并管理下载选项. 将客户端和选项传入管理下载构建器,以创建自定义部分大小为10MB和货币为5的"管理下载".

#### Java 脚本

```
    const s3 = new S3();
    const options = {
        maxPartSize: 10 * 1024 * 1024,
        maxConcurrency: 5
    };
    const managedDownloader = new ManagedDownloader(s3, options);
```

#### 类型脚本

```
    const s3:S3 = new S3();
    const options:ManagedDownloaderOptons = {
        maxPartSize: 10 * 1024 * 1024,
        maxConcurrency: 5
    };
    const managedDownloader:ManagedDownloader = new ManagedDownloader(s3, options);
```

## 实例

目前,"管理下载"只包含一个流出下载操作,它可以为整个文件或特定范围或文件的一部分工作. 以下是一些例子: 如何使用“管理下载”Get ObjectStream下载操作.

### 1\. 使用管理下载对象为 S3 上的文件创建下载流

从桶中获取“ 例- 键” 文件, 并使用“ objectStream” 方法创建本地文件 .

#### Java 脚本

```
    const S3 = require('aws-sdk/clients/s3');
    const ManagedDownloader = require('@aws/s3-managed-download').ManagedDownloader;
    const fs = require('fs');

    const s3 = new S3();
    const managedDownloader = new ManagedDownloader(s3);

    const params = {
        Bucket: 'example-bucket',
        Key: 'example-key'
    };
    // create a write stream for a file
    const writeStream = fs.createWriteStream('example-file-path');
    
    managedDownloader.getObjectStream(params)
    .then((stream) => {
        stream.pipe(writeStream);
    }, (err) => {
        writeStream.end();
        console.error(err);
    });
```

#### 类型脚本

```
    import * as S3 from 'aws-sdk/clients/s3';
    import { ManagedDownloader, GetObjectStreamInput, ManagedDownloaderOptions } from '@aws/s3-managed-download';
    import * as fs from 'fs';

    const s3:S3 = new S3();
    const managedDownloader:ManagedDownloader = new ManagedDownloader(s3);

    const params:GetObjectStreamInput = {
        Bucket: 'example-bucket',
        Key: 'example-key'
    };
    // create a write stream for a file
    const writeStream:fs.WriteStream = fs.createWriteStream('example-file-path');
    
    managedDownloader.getObjectStream(params)
    .then((stream) => {
        stream.pipe(writeStream);
    }, (err) => {
        writeStream.end();
        console.error(err);
    });
```

### 2\. 使用管理下载对象为 S3 上的文件的字节创建下载流

从桶中获取“ 例- 键” 文件, 并使用“ objectStream” 方法在“ 例- 文件- 路径” 上写入本地文件的字节100- 150 .

#### Java 脚本

```
    const S3 = require('aws-sdk/clients/s3');
    const ManagedDownloader = require('@aws/s3-managed-download').ManagedDownloader;
    const fs = require('fs');
    
    const s3 = new S3();
    const managedDownloader = new ManagedDownloader(s3);

    const params = {
        Bucket: 'example-bucket',
        Key: 'example-key',
        Range: '100-150'
    };
    // create a write stream for a file starting at byte 100
    const writeStream = fs.createWriteStream('example-file-path', {start:100});
    
    managedDownloader.getObjectStream(params)
    .then((stream) => {
        stream.pipe(writeStream);
    }, (err) => {
        writeStream.end();
        console.error(err);
    });
```

#### 类型脚本

```
    import * as S3 from 'aws-sdk/clients/s3';
    import { ManagedDownloader, GetObjectStreamInput, ManagedDownloaderOptions } from '@aws/s3-managed-download';
    import * as fs from 'fs';

    const s3:S3 = new S3();
    const managedDownloader:ManagedDownloader = new ManagedDownloader(s3);
    
    const params:GetObjectStreamInput = {
        Bucket: 'example-bucket',
        Key: 'example-key',
        Range: '100-150'
    };
    // create a write stream for a file starting at byte 100
    const writeStream:fs.WriteStream = fs.createWriteStream('example-file-path', {start:100});
    
    managedDownloader.getObjectStream(params)
    .then((stream) => {
        stream.pipe(writeStream);
    }, (err) => {
        writeStream.end();
        console.error(err);
    });
```

## 开幕问题

如果您找到任何错误或想要请求新特性, 请先检查已有的问题 。 如果没有问题,就开出一个新问题。 如果问题涉及错误,请包括堆栈痕量和重现的方法.

## 许可证

这个库根据Apache 2.0许可证获得许可.

## 常见问题

### @aws/s3-managed-downloader 是什么？

S3 管理下载器

### 如何安装 @aws/s3-managed-downloader？

在项目目录运行 npm install @aws/s3-managed-downloader，或使用 pnpm add / yarn add / bun add。

### @aws/s3-managed-downloader 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/aws\_\_s3-managed-downloader 是否存在。

### @aws/s3-managed-downloader 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @aws/s3-managed-downloader 可以商用吗？

@aws/s3-managed-downloader 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @aws/s3-managed-downloader 的下载量有多少？

根据 npm 官方下载统计，@aws/s3-managed-downloader 在 2026/10/08 – 2026/11/06 这 30 天内被下载 3,891 次，日均约 130 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aws/s3-managed-downloader 还在维护吗？

最新版本 0\.9\.0 发布于 2018/09/12（8 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/09/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

