天天看點

Node.js SDK 核心庫安裝與調用

Node.js SDK 核心庫安裝與調用

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

一、環境準備

  • 使用阿裡雲Node.js SDK,您需要一個RAM賬号以及一對AccessKey ID和AccessKey Secret。 請在阿裡雲控制台中的 AccessKey管理頁面 上建立和檢視您的AccessKey,或聯系您的系統管理者。
  • 使用阿裡雲SDK調用某個産品的API前,確定您已經在阿裡雲控制台開通了該産品。
  • 阿裡雲Node.js SDK适用于Node.js最近兩個LTS版本(Node.js 8.x和Node.js 10.x)。您可以通過執行指令

    node -v

    檢視Node.js的版本。

二、線上調試和生成SDK示例

OpenAPI Explorer

提供線上調用雲産品API、動态生成SDK示例代碼和快速檢索接口等功能,能顯著降低使用API的難度,推薦使用。

三、安裝阿裡雲Node.js SDK

完成以下操作安裝Node.js SDK:

1、從

GitHub

下載下傳所需産品的SDK。

2、安裝Node.js SDK。建議您使用

npm

來完成Node.js依賴子產品的安裝,所有阿裡雲官方的Node.js SDK都位于

@alicloud

下。假設Node.js SDK下載下傳後的路徑為

/path/to/aliyun-openapi-Node.js-sdk

  • 當基于SDK核心庫進行開發時,請執行以下指令,安裝

    @alicloud/pop-core

    子產品。指令中的

    --save

    會将子產品寫入應用的

    package.json

    檔案中,作為依賴子產品。
$ npm install @alicloud/pop-core --save           
  • 當基于具體雲産品的SDK進行開發時,需安裝該雲産品的子產品。本文以安裝MNS産品的子產品為例。
$ npm install @alicloud/mns --save           

四、調用示例

  • RPC API調用
var RPCClient = require('@alicloud/pop-core').RPCClient;
var client = new RPCClient({
  accessKeyId: '<accessKeyId>',
  secretAccessKey: '<secretAccessKey>',
  endpoint: '<endpoint>',
  apiVersion: '<apiVersion>'
});
// => returns Promise
client.request(action, params, options);           
  • REST API調用
var ROAClient = require('@alicloud/pop-core').ROAClient;
var client = new ROAClient({
  accessKeyId: '<accessKeyId>',
  accessKeySecret: '<secretAccessKey>',
  endpoint: '<endpoint>',
  apiVersion: '<apiVersion>'
});
// => returns Promise
// request(HTTPMethod, uriPath, queries, body, headers, options);
// options => {timeout}
client.request('GET', '/regions');           
  • 當使用具體的雲産品SDK時,請參考以下示例進行調用:
// 引入SDK
const Client = require('@alicloud/oam');
// 建立執行個體
const client = new Client({
  accessKeyId: '<ACCESS_KEY_ID>',
  secretAccessKey: '<ACCESS_KEY_SECRET>',
  securityToken: '', // 支援STS
  endpoint: 'ENDPOINT'
});
// 發起調用
// 具體API,傳回Promise
client.addRoleCellToRole({
  RoleName: "role1",
  Resource: "*:*:*:*",
  ActionList: ["Read", "Write"],
  GrantOption: 0
}, {timeout: 10000});           
提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”

繼續閱讀