本文介绍如何安装Node.js。目前官网文档中的demo都是基于SDK 6.X,版本低于6.X的可参考 5.X开发文档, 升级6.X请移步升级文档

环境准备

  • 要求
    • 开通阿里云OSS服务,如果您还不了解阿里云OSS服务,请登录 OSS产品主页了解。
    • 创建AccessKeyId和AccessKeySecret,由于云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践。如果部署在服务端可以使用RAM子账号或STS来进行API访问或日常运维管控操作,如果部署在客户端请使用STS方式来进行API访问。详情请参见访问控制
  • 环境要求

    OSS NodeJS SDK基于Node.js环境构建。

使用方式

OSS NodeJS SDK同时支持同步和异步的使用方式

  • 同步方式:基于asyncawait方式, 异步编程同步化
  • 异步方式:类似callback的方式,API接口返回Promise,使用.then()处理返回结果,使用.catch()处理错误

无论同步方式还是异步方式,均使用new OSS()创建client。

下面分别举例,先上传一个文件,然后立即下载这个文件:

  • 同步方式
    let client = new OSS(...);
    async function put () {
      try {
        // object表示上传到OSS的Object名称,localfile表示本地文件或者文件路径
        let r1 = await client.put('object','localfile'); 
        console.log('put success: %j', r1);
        let r2 = await client.get('object');
        console.log('get success: %j', r2);
      } catch(e) {
        console.error('error: %j', err);
      }
    }
    put();
  • 异步方式
    let client = new OSS(...);
    
    // object表示上传到OSS的Object名称,localfile表示本地文件或者文件路径
    client.put('object', 'localfile').then(function (r1) {
      console.log('put success: %j', r1);
      return client.get('object');
    }).then(function (r2) {
      console.log('get success: %j', r2);
    }).catch(function (err) {
      console.error('error: %j', err);
    });
    

安装

  • 使用Node.js

    支持的Node.js版本:

    Node.js >= 8.0.0 如果需要在 Node.js < 8 的环境中使用,请使用 ali-oss 4.x版本。

    首先使用npm安装SDK的开发包:

    npm install ali-oss
    

    然后在你的程序中使用:

    let OSS = require('ali-oss');
    
    let client = new OSS({
      region: '<oss region>',
      //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,部署在服务端使用RAM子账号或STS,部署在客户端使用STS。
      accessKeyId: '<Your accessKeyId>',
      accessKeySecret: '<Your accessKeySecret>',
      bucket: '<Your bucket name>'
    });
    
  • 如果使用npm遇到网络问题,可以使用淘宝提供的npm镜像:cnpm