閱讀788 返回首頁    go 魔獸


快速開始-NodeJS__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲

下麵介紹如何在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: 例如https://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. });

了解更多

最後更新:2016-11-23 19:47:48

  上一篇:go 快速開始-瀏覽器__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲
  下一篇:go 瀏覽器應用__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲