@computesdk/s3

中文文档
1.2.24发布于 2026/11/11MITTypeScriptESM + CJS构建来源已验证近 30 天下载 2252

计算SDK的 AWS S3 存储提供者 - 与 S3 兼容的 API 对象存储

中文使用文档
文档目录11 节
  1. 安装
  2. 使用量
  3. 配置
  4. API 密码
  5. upload(bucket, key, data, options?)
  6. download(bucket, key)
  7. delete(bucket, key)
  8. list(bucket, options?)
  9. getClient()
  10. 环境变量
  11. 许可证

@ computesdk/s3 (帮助)

AWS S3存储提供者为ComputeSDK - 对象存储与S3兼容的API.

安装

npm install @computesdk/s3

使用量

import { s3 } from '@computesdk/s3';

// Create storage instance
const storage = s3({
  accessKeyId: process.env.TIGRIS_STORAGE_ACCESS_KEY_ID,
  secretAccessKey: process.env.TIGRIS_STORAGE_SECRET_ACCESS_KEY,
  endpoint: 'https://t3.storage.dev'
});

// Upload a file
await storage.upload('my-bucket', 'path/to/file.txt', 'Hello, World!');

// Upload with options
await storage.upload('my-bucket', 'image.png', buffer, {
  contentType: 'image/png',
  metadata: { author: 'user-123' }
});

// Download a file
const result = await storage.download('my-bucket', 'path/to/file.txt');
console.log(Buffer.from(result.data).toString());

// Delete a file
await storage.delete('my-bucket', 'path/to/file.txt');

// List objects
const list = await storage.list('my-bucket', { prefix: 'path/to/' });
for (const obj of list.objects) {
  console.log(`${obj.key}: ${obj.size} bytes`);
}

配置

选项类型需求默认说明
accessKeyId字符串无*TIGRIS_STORAGE_ACCESS_KEY_ID 环境访问密钥 ID
secretAccessKey字符串无*TIGRIS_STORAGE_SECRET_ACCESS_KEY 环境秘密访问密钥
endpoint字符串没有TIGRIS_STORAGE_ENDPOINT 打开,然后 https://t3.storage.devS3兼容服务的终点

* Ether在配置或设置环境变量中提供.

API 密码

upload(bucket, key, data, options?)

上传数据到 S3 .

  • 桶头: Bucket 名称
  • 键对象密钥/路径
  • 数据数字 : Uint8Array 或者说 string 要上传(节点) Buffer 因为它是Uint8Array子类)
  • 选项: 可选上传配置
    • contentType: MIME 类型( 默认 ): application/octet-stream(中文(简体) )
    • metadata: 自定义元数据对象

回返 Promise<StorageObject> 含有上传对象的元数据.

download(bucket, key)

从S3下载数据.

  • 桶头: Bucket 名称
  • 键对象密钥/路径

回返 Promise<DownloadResult> 包含:

  • data数字 : Uint8Array 带有对象内容( 节点) Buffer 可用 Buffer.from(data)(中文(简体) )
  • size: 以字节表示的对象大小
  • contentType: MIME 类型
  • etag实体标签
  • lastModified: 上次修改日期
  • metadata: 自定义元数据

delete(bucket, key)

从 S3 删除对象 .

  • 桶头: Bucket 名称
  • 键对象密钥/路径

回返 Promise<void>。 。 。 .

list(bucket, options?)

在桶中列出对象 .

  • 桶头: Bucket 名称
  • 选项: 可选列表配置
    • prefix: 按前缀过滤
    • maxKeys: 最大结果( 默认值: 1000)
    • continuationToken: 贴花符

回返 Promise<ListResult> 包含:

  • objects: 阵列 StorageObject
  • truncated: 是否有更多结果
  • continuationToken: 下一页按键

getClient()

获取 AWS S3 基础客户端用于高级操作.

回返 S3Client 从 @aws-sdk/client-s3。 。 。 .

环境变量

export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_REGION=us-east-1  # optional, defaults to us-east-1

许可证

麻省理工学院

版本与发布记录

@computesdk/s3 共发布 31 个版本,首次发布于 2026/03/24;过去 12 个月发布了 31 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.2.24latest2026/11/11今天
1.2.232026/11/064 天前
1.2.222026/11/046 天前
1.2.212026/10/2813 天前
1.2.202026/10/2318 天前
1.2.192026/10/2319 天前

关于 @computesdk/s3 的常见问题

@computesdk/s3 是什么?

计算SDK的 AWS S3 存储提供者 - 与 S3 兼容的 API 对象存储

如何安装 @computesdk/s3?

在项目目录运行 npm install @computesdk/s3,或使用 pnpm add / yarn add / bun add。

@computesdk/s3 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@computesdk/s3 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@computesdk/s3 可以商用吗?

@computesdk/s3 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@computesdk/s3 的下载量有多少?

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

@computesdk/s3 还在维护吗?

最新版本 1.2.24 发布于 2026/11/11(今天);至今共发布 31 个版本,其中过去 12 个月发布了 31 个;首次发布于 2026/03/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。