全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
阿里云SDK开发指南

Node.js SDK 使用说明

更新时间:2018-02-13 13:46:15

阿里云Node.js SDK让您不用复杂编程即可访问云服务器、云监控等多个阿里云服务。这里向您介绍如何获取阿里云Node.js SDK并开始调用。

环境准备

  1. 阿里云Node.js SDK适用于Node.js最近两个LTS版本(Node.js 4.x 和 Node.js 6.x)。您可以通过执行命令node -v查看Node.js的版本。

  2. 要使用阿里云Node.js SDK,您需要一个RAM账号以及一对AccessKey IDAccessKey Secret。请在阿里云控制台中的AccessKey管理页面上创建和查看您的 Access Key,或者联系您的系统管理员。

  3. 要使用阿里云SDK访问某个产品的API,您需要事先在阿里云控制台中开通这个产品。

获取SDK

登录阿里云SDK频道下载Node.js SDK。

说明:部分阿里云产品的SDK未收录到阿里云SDK频道,例如对象存储(OSS),请前往这些产品的详情页面获取相应的SDK。

阿里云Node.js SDK提供两种方式来实现对云产品API的调用,一种是基于SDK核心库,一种是基于具体云产品的SDK。建议您使用具体云产品的SDK调用API。

SDK核心库实现了调用云产品API过程中的签名细节,具体的云产品SDK则是在前者的基础上完善而成。

安装 SDK

建议您使用npm来完成Node.js依赖模块的安装,所有阿里云官方的Node.js SDK 都位于 @alicloud scope下。

当基于SDK核心库进行开发时,请执行以下命令安装@alicloud/pop-core模块。

  1. $ npm install @alicloud/pop-core --save

以上命令中的--save会将模块写入应用的package.json文件中,作为依赖模块。

当基于具体云产品的SDK进行开发时,需安装该云产品的模块本操作以安装MNS产品的模块为例。

  1. $ npm install @alicloud/mns --save

您可以在阿里云SDK列表中找到所有已经发布的Node.js SDK,并通过npm命令安装。

代码示例

目前,阿里云上的云产品分别使用RPC风格的API和REST风格的API。

RPC风格

当调用RPC风格的API时,请参考以下示例进行调用:

  1. var RPCClient = require('@alicloud/pop-core').RPCClient;
  2. var client = new RPCClient({
  3. accessKeyId: '<accessKeyId>',
  4. secretAccessKey: '<secretAccessKey>',
  5. endpoint: '<endpoint>',
  6. apiVersion: '<apiVersion>'
  7. });
  8. // => returns Promise
  9. client.request(action, params, options);

REST风格

当调用REST风格的API时,请参考以下示例进行调用:

  1. var ROAClient = require('@alicloud/pop-core').ROAClient;
  2. var client = new ROAClient({
  3. accessKeyId: '<accessKeyId>',
  4. accessKeySecret: '<secretAccessKey>',
  5. endpoint: '<endpoint>',
  6. apiVersion: '<apiVersion>'
  7. });
  8. // => returns Promise
  9. // request(HTTPMethod, uriPath, queries, body, headers, options);
  10. // options => {timeout}
  11. client.request('GET', '/regions');

具体云产品的SDK

当使用具体的云产品SDK时,请参考以下示例进行调用:

  1. // 引入SDK
  2. const Client = require('@alicloud/oam');
  3. // 创建实例
  4. const client = new Client({
  5. accessKeyId: '<ACCESS_KEY_ID>',
  6. secretAccessKey: '<ACCESS_KEY_SECRET>',
  7. securityToken: '', // 支持STS
  8. endpoint: 'ENDPOINT'
  9. });
  10. // 发起调用
  11. // 具体API,返回Promise
  12. client.addRoleCellToRole({
  13. RoleName: "role1",
  14. Resource: "*:*:*:*",
  15. ActionList: ["Read", "Write"],
  16. GrantOption: 0
  17. }, {timeout: 10000});

API参考

要知道您想访问的产品提供的API以及它们的参数,请参考云产品API开放列表

本文导读目录