欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Node.js SDK 核心库安装与调用

程序员文章站 2022-05-22 07:51:14
...

本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】

原文链接:https://developer.aliyun.com/article/753797?spm=a2c6h.12873581.0.0.54c47e46mLfYep

镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

一、环境准备

使用阿里云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 Promiseclient.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时,请参考以下示例进行调用:
// 引入SDKconst Client = require('@alicloud/oam');// 创建实例const client = new Client({  accessKeyId: '<ACCESS_KEY_ID>',  secretAccessKey: '<ACCESS_KEY_SECRET>',  securityToken: '', // 支持STS
 endpoint: 'ENDPOINT'});// 发起调用// 具体API,返回Promiseclient.addRoleCellToRole({  RoleName: "role1",  Resource: "*:*:*:*",  ActionList: ["Read", "Write"],  GrantOption: 0}, {timeout: 10000});