本文主要介绍如何安装和使用Node.js SDK。
前提条件
- 已开通阿里云对象存储OSS服务。
- 已创建RAM用户的AccessKey ID和AccessKey Secret。
由于云账号AccessKey拥有所有API的访问权限,建议使用RAM用户的AccessKey。如果部署在服务端,请使用RAM或STS的方式进行API访问或日常运维管控操作;如果部署在客户端,请使用STS方式进行API访问。详情请参见访问控制
背景信息
OSS Node.js SDK基于Node.js环境构建。
目前官网文档中的demo基于SDK 6.X,SDK版本低于6.X,请参见5.X开发文档,如需升级至6.X,请参见升级详情。
安装
OSS支持8.0.0及以上的Node.js版本。如果需要在Node.js低于8.0.0的环境中使用,请使用ali-oss 4.x版本。
使用npm安装SDK开发包,安装命令为npm install ali-oss --save。
如果使用npm遇到网络问题,建议使用淘宝提供的npm镜像cnpm。
使用方式
Node.js SDK支持同步和异步的使用方式。无论同步方式还是异步方式,均使用new OSS()
创建client。
- 同步方式:基于
async
和await
方式,异步编程同步化。 - 异步方式:类似Callback的方式,API接口返回Promise,使用
.then()
处理返回结果,使用.catch()
处理错误。
先使用同步方式上传文件,再使用异步方式下载文件的示例代码如下:
- 同步方式
let client = new OSS(...); async function put () { try { // 'object'填写上传至OSS的object名称,即不包括Bucket名称在内的Object的完整路径。 // 'localfile'填写上传至OSS的本地文件完整路径。 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', e); } } await put();
- 异步方式
let client = new OSS(...); // 'object'填写从OSS下载的object名称,即不包括Bucket名称在内的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', e); });