開發與維運

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

hbbdxien.jpg
鏡像下載、域名解析、時間同步請點擊 阿里巴巴開源鏡像站

一、環境準備

  • 使用阿里雲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});

阿里巴巴開源鏡像站 提供全面,高效和穩定的系統鏡像、應用軟件下載、域名解析和時間同步服務。”

Leave a Reply

Your email address will not be published. Required fields are marked *