安装 OSS SDK for Node.js

39 min read

前提条件

  1. 已开通 OSS。
  2. 创建了 RAM 用户的 AccessKey 对(包括 AccessKey ID 和 AccessKey Secret)。
  3. AccessKey 对拥有相应的权限。推荐使用 RAM 用户或使用 Security Token Service (STS) 凭证来调用 API。

安装步骤

  1. 确保 Node.js 版本在 8.0.0 及以上。如果使用低于 8.0.0 的版本,使用 OSS SDK for Node.js V4.x。
  2. 运行以下命令安装 SDK 包:
    npm install ali-oss --save
    

使用 OSS SDK for Node.js

OSS SDK for Node.js 支持基于 Promise 的异步编程,可以使用 async/awaitthen/catch 来处理 Promise 对象。

使用 async/await

以下示例代码演示了如何使用 async/await 语法上传和下载对象:

const OSS = require('ali-oss');

// 初始化 OSSClient 实例,请替换为实际的配置信息
const client = new OSS({
  region: 'yourregion', // 例如 'oss-cn-hangzhou'
  accessKeyId: process.env.OSS_ACCESS_KEY_ID, // 确保环境变量 OSS_ACCESS_KEY_ID 已配置
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, // 确保环境变量 OSS_ACCESS_KEY_SECRET 已配置
  bucket: 'yourbucketname', // 例如 'my-bucket-name'
});

async function uploadAndDownloadFile() {
  try {
    // 上传文件到 OSS
    const uploadResult = await client.put('object', 'localfile');
    console.log('Upload succeeded:', uploadResult);

    // 下载文件以验证上传是否成功
    const getResult = await client.get('object');
    console.log('Object downloaded:', getResult);
  } catch (error) {
    console.error('Error:', error);
    // 在此编写错误处理代码
  }
}

uploadAndDownloadFile();
使用 then/catch

以下示例代码演示了如何使用 then/catch 语法上传和下载对象:

const OSS = require('ali-oss');

// 初始化 OSSClient 实例,请替换为实际的配置信息
const client = new OSS({
  region: 'yourregion', // 例如 'oss-cn-hangzhou'
  accessKeyId: process.env.OSS_ACCESS_KEY_ID, // 确保环境变量 OSS_ACCESS_KEY_ID 已配置
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET, // 确保环境变量 OSS_ACCESS_KEY_SECRET 已配置
  bucket: 'yourbucketname', // 例如 'my-bucket-name'
});

// 使用 PUT 方法上传文件到 OSS,并使用 then() 链式处理结果或错误
client.put('object', 'localfile')
  .then((uploadResult) => {
    console.log('Upload succeeded:', uploadResult);

    // 下载文件以验证上传是否成功
    return client.get('object');
  })
  .then((getResult) => {
    console.log('Object downloaded:', getResult);
  })
  .catch((error) => {
    console.error('Error:', error);
    // 在此编写错误处理代码
  });

通过上述步骤和代码示例,您可以成功安装和使用 OSS SDK for Node.js 来管理 OSS 存储桶以及上传和下载对象。