全部产品
对象存储 OSS

快速开始-NodeJS

更新时间:2017-09-01 16:39:03   分享:   

本文介绍如何在Node.js环境中使用OSS JavaScript SDK来访问OSS服务,包括查看Bucket列表、查看文件列表、上传/下载文件和删除文件。为了方便修改,本文会新建一个app.js,以下功能演示代码都写在这个文件中。

安装SDK

在工作目录安装ali-oss

  1. npm install ali-oss

使用同步方式

由于SDK基于ES6开发,使用Generator Function使用户能够方便地用同步的方式异步的代码,需要配合co使用。具体可参考这篇博客。使用同步方式还需要安装co

  1. npm install co

使用异步方式

为了支持callback的使用方式,SDK同时也提供了异步的基于Promise的接口,使用上类似callback,具体可参考这篇博客

下面的文档将以同步的方式为例。

初始化Client

创建一个文件:app.js并写入下面的内容:

  1. var co = require('co');
  2. var OSS = require('ali-oss');
  3. var client = new OSS({
  4. region: '<Your region>',
  5. accessKeyId: '<Your AccessKeyId>',
  6. accessKeySecret: '<Your AccessKeySecret>'
  7. });

其中region参数是指您申请OSS服务时的区域,例如’oss-cn-hangzhou’。完整的区域列表可以在OSS服务节点查看。

如果所使用的endpoint不在上述列表中,可以通过以下参数指定endpoint:

  • internal: 配合region使用,如果指定internaltrue,则访问内网节点
  • secure: 配合region使用,如果指定了securetrue,则使用HTTPS访问
  • endpoint: 例如http://oss-cn-hangzhou.aliyuncs.com,如果指定了endpoint,则region会被忽略,endpoint可以指定HTTPS,也可以是IP形式
  • cname: 配合endpoint使用,如果指定了cnametrue,则将endpoint视为用户绑定的自定义域名
  • bucket: 如果未指定bucket,则进行Object相关的操作时需要先调用useBucket接口(只需要调用一次)
  • timeout: 默认为60秒,指定访问OSS的API的超时时间

查看Bucket列表

app.js末尾添加如下内容,使用listBuckets接口查看Bucket列表:

  1. co(function* () {
  2. var result = yield client.listBuckets();
  3. console.log(result);
  4. }).catch(function (err) {
  5. console.log(err);
  6. });

运行并查看结果:node app.js

查看文件列表

修改app.js,使用list接口查看文件列表:

  1. co(function* () {
  2. client.useBucket('Your bucket name');
  3. var result = yield client.list({
  4. 'max-keys': 5
  5. });
  6. console.log(result);
  7. }).catch(function (err) {
  8. console.log(err);
  9. });

使用node app.js运行并查看结果。

上传一个文件

修改app.js,使用put接口上传一个文件:

  1. co(function* () {
  2. client.useBucket('Your bucket name');
  3. var result = yield client.put('object-key', 'local file');
  4. console.log(result);
  5. }).catch(function (err) {
  6. console.log(err);
  7. });

下载一个文件

修改app.js,使用get接口下载一个文件:

  1. co(function* () {
  2. var result = yield client.get('object-key', 'local file');
  3. console.log(result);
  4. }).catch(function (err) {
  5. console.log(err);
  6. });

删除一个文件

修改app.js,使用delete接口下载一个文件:

  1. co(function* () {
  2. var result = yield client.delete('object-key');
  3. console.log(result);
  4. }).catch(function (err) {
  5. console.log(err);
  6. });

了解更多

本文导读目录
本文导读目录
以上内容是否对您有帮助?