通过IDE使用阿里云Node.js SDK

更新时间:

本文以在Windows操作系统上,通过VS Code使用阿里云SDK为例,帮助您了解如何快速使用阿里云Node.js SDK。

前提条件

使用 SDK

使用OpenAPI门户提供的代码示例工程

说明

可能会出现 OpenAPI无法下载代码示例工程的情况,您可以查看在已有项目中使用SDK的介绍。

  1. 进入OpenAPI门户的API调试页面,选择云产品和接口。例如我们以调用云服务器ECS的DescribeRegions接口为例,可在搜索栏中填入DescribeRegions,在搜索结果中单击API名称进入API调试页面。

    image

  2. 参数配置页签中填写需要的参数信息。填写时请参考右侧文档页签,充分了解接口的说明和注意事项(尤其是费用相关信息),以及各参数的具体含义和使用方法。

    如DescribeRegions接口支持传入三个参数:

    参数名

    是否必填

    说明

    InstanceChargeType

    非必填

    不同的实例计费方式可能支持的地域不同。默认值为PrePaid。

    ResourceType

    非必填

    不同的资源类型可能支持的地域不同。默认值为instance。

    AcceptLanguage

    非必填

    设置返回结果的语言。默认值为zh-CN。

    image

  3. 在右侧的SDK示例页面,选择语言,单击下载完整工程按钮,下载SDK完整工程至本地并解压。

    image

  4. 打开VS Code,在菜单栏单击File->Open Folder,选择解压后的文件夹。

  5. 在VS Code菜单栏中单击Terminal->New Terminal,将会在底部展示TERMINAL窗口。

    image

  6. 在Terminal中执行以下命令安装TypeScript。

     npm install -g typescript
  7. 在Terminal中执行以下命令,会读取项目中的 package.json 文件,解析其中列出的所有依赖,并下载它们到项目的 node_modules 目录中。

    npm install
  8. 在Terminal中执行以下命令,将TypeScript代码根据 tsconfig.json 配置文件将 .ts (TypeScript)文件编译成 .js (JavaScript)文件,JavaScript文件通常会被放置在指定的输出目录(如 dist)中,以便后续的运行或部署。

    tsc
  9. 在Terminal中执行以下命令运行示例代码。

    node ./dist/client.js
  10. 查看运行结果。在Terminal中按下Ctrl+F,搜索statusCode,如果看到"statusCode":200表示调用成功。

    image

在已有项目中使用SDK

  1. 打开VS Code,在VS Code菜单栏,单击File->Open Folder,新建一个项目文件夹或者选择一个已有的项目文件夹。例如文件夹名称为tssdkproject,然后选择该文件夹。

  2. 在VS Code菜单栏中单击Terminal->New Terminal,将会在底部展示Terminal窗口。

    image

  3. 获取SDK。

    访问SDK中心,选择您想要使用的 SDK的云产品,这里以云服务器ECS为例。SDK版本选择V2.0,语言选择TypeScript

    image

  4. 安装SDK。

    复制安装命令到Terminal中,然后按下回车执行。

    image

  5. 创建一个文件。在项目名称右边,单击New File...,填写文件名称,例如ecsDescribeRegions.js。

    image

  6. 初始化客户端。

    如您想调用ECS的API,必须先对ECS的客户端做初始化。

    重要
    1. 初始化客户端时需要使用AccessKey完成身份验证,请提前获取AccessKey。获取方法请参见创建AccessKey

    2. 获取RAM用户的AccessKey之后,还需要在环境变量中设置AccessKey,具体操作步骤请参见在Linux、macOS和Windows系统配置环境变量

    3. endpoint如何设置请参见服务接入点

    // 引入ECS客户端和OpenAPI客户端
    const ecs20140526 = require('@alicloud/ecs20140526');
    const openapiclient = require('@alicloud/openapi-client');
    
    /**
     * 初始化ECS客户端配置
     * 该配置将使用环境变量中的Access Key ID和Access Key Secret进行身份验证,并设置endpoint为ecs.cn-hangzhou.aliyuncs.com
     */
    const ecsconfig = new openapiclient.Config();
    ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // 从环境变量中获取Access Key ID
    ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 从环境变量中获取Access Key Secret
    ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // 设置ECS服务的endpoint
    
    // 创建ECS 20140526版本的客户端实例
    const ecs20140526client = new ecs20140526.default(ecsconfig);
    
  7. 调用API。在调用OpenAPI之前,您需要先了解OpenAPI的详细信息,请查看API文档,以调用ECS的DescribeRegions为例。

    说明

    每个API都有独立的请求对象,命名规则为${API名称}${Request},例如DescribeRegionsRequest。

    // 引入ECS客户端和OpenAPI客户端
    const ecs20140526 = require('@alicloud/ecs20140526');
    const openapiclient = require('@alicloud/openapi-client');
    
    /**
     * 初始化ECS客户端配置
     * 该配置将使用环境变量中的Access Key ID和Access Key Secret进行身份验证,并设置服务端点为ecs.cn-hangzhou.aliyuncs.com
     */
    const ecsconfig = new openapiclient.Config();
    ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // 使用环境变量中的Access Key ID
    ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 使用环境变量中的Access Key Secret
    ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // 设置ECS服务的endpoint
    
    // 创建ECS 20140526版本的客户端实例
    const ecs20140526client = new ecs20140526.default(ecsconfig);
    const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest();
    // 发起查询所有地域的请求
    ecs20140526client.describeRegions(describeRegionsRequest).then((res)=>{
        console.log(res);
    })
    
    
  8. 异常处理。

    Node.js V2.0 SDK主要分为两种异常,一种是业务异常,主要以业务报错为主的异常;还有一种是网络异常,一般是网络问题造成达到最大重试次数后抛出。由于两种类型的异常暂时不支持外部模块导入,所以示例中不做区分。

    // 引入ECS客户端和OpenAPI客户端
    const ecs20140526 = require('@alicloud/ecs20140526');
    const openapiclient = require('@alicloud/openapi-client');
    
    /**
     * 初始化ECS客户端配置
     * 该配置将使用环境变量中的Access Key ID和Access Key Secret进行身份验证,并设置服务端点为ecs.cn-hangzhou.aliyuncs.com
     */
    const ecsconfig = new openapiclient.Config();
    ecsconfig.accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; // 使用环境变量中的Access Key ID
    ecsconfig.accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 使用环境变量中的Access Key Secret
    ecsconfig.endpoint = 'ecs.cn-hangzhou.aliyuncs.com'; // 设置ECS服务的endpoint
    
    // 创建ECS 20140526版本的客户端实例
    const ecs20140526client = new ecs20140526.default(ecsconfig);
    const describeRegionsRequest = new ecs20140526.DescribeRegionsRequest();
    // 发起查询所有地域的请求
    ecs20140526client.describeRegions(describeRegionsRequest).then((res) => {
        console.log(res);
    }).catch((err) => {
        console.log(err.message);
        throw err;
    });
    
  9. 运行示例代码。

    1. 如果您已安装了Code Runner插件,可以在文件编辑区域的任意位置,右键单击,选择Run Code运行。

      image

    2. 在TERMINAL中使用node命令运行。如node .\ecsDescribeRegions.js

      image

    3. 选择要执行的文件,如ecsDescribeRegions.js,然后在左侧边栏单击Run and Debug或者按下Ctrl+Shift+D,再单击Run and Debug运行。

      image

  10. (可选)您也可以复制OpenAPI门户提供的示例代码到文件中运行,如何获取示例代码请查看SDK 代码自动生成

相关文档

进阶文档