更新时间:2024-06-13 GMT+08:00

Node.js SDK

本章节介绍新版Node.js SDK,您可以参考本章节进行快速集成开发。

准备工作

  • 注册华为账号并开通华为云,账号不能处于欠费或冻结状态。
  • 已具备开发环境,支持Node 10.16.1 及其以上版本。
  • 登录“我的凭证 > 访问密钥”页面,依据界面操作指引获取Access Key(AK)和Secret Access Key(SK)。下载的访问密钥为credentials.csv文件,包含AK/SK信息。
    图1 新增访问密钥

  • 登录“我的凭证 ”页面,获取“IAM用户名”“账号名”以及待使用区域的“项目ID”。调用服务时会用到这些信息,请提前保存。
    图2 我的凭证

安装SDK

使用SDK前,需要安装“@huaweicloud/huaweicloud-sdk-core”和“@huaweicloud/huaweicloud-sdk-ocr”。

推荐您使用 npm 安装 SDK。

npm install @huaweicloud/huaweicloud-sdk-core
npm i @huaweicloud/huaweicloud-sdk-ocr

开始使用

  1. 导入依赖模块
    const core = require('@huaweicloud/huaweicloud-sdk-core');
    const ocr = require("@huaweicloud/huaweicloud-sdk-ocr");
  2. 配置客户端链接参数
    • 默认配置
      const client = ocr.OcrClient.newBuilder()
    • 网络代理(可选)
      // 使用代理服务器(可选)
      client.withProxyAgent("http://username:password@proxy.huaweicloud.com:8080")
    • SSL配置(可选)
      // 配置跳过服务端证书验证(可选)
      process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"
  3. 配置认证信息

    配置AK、SK、project_id信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。

    初始化认证信息:

    const ak = process.env.HUAWEICLOUD_SDK_AK;
    const sk = process.env.HUAWEICLOUD_SDK_SK;
    const credentials = new core.BasicCredentials()
                         .withAk(ak)
                         .withSk(sk)
                         .withProjectId(project_id)
    • 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。
    • 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。

    认证参数说明:

    • ak、sk:访问密钥信息,获取方法请参见准备工作
    • project_id:华为云项目ID,获取方法请参见准备工作
  4. 初始化客户端
    指定云服务endpoint方式
    // 指定终端节点,以 OCR 服务北京四的 endpoint 为例
    const client = ocr.OcrClient.newBuilder()
                                .withCredential(credentials)
                                .withEndpoint(endpoint)
                                .build();

    endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点

  5. 发送请求并查看响应
    // 以调用护照识别接口 RecognizePassport 为例
    const request = new ocr.RecognizePassportRequest();
    const body = new ocr.PassportRequestBody();
    body.withUrl("图片的url");
    request.withBody(body);
    const result = client.recognizePassport(request);
    result.then(result => {
        console.log("JSON.stringify(result)::" + JSON.stringify(result));
    }).catch(ex => {
        console.log("exception:" + JSON.stringify(ex));
    });

详细的SDK介绍请参见SDK中心Node.js SDK使用指导

代码示例自动生成

API Explorer提供API检索及平台调试,支持全量快速检索、可视化调试、帮助文档查看、在线咨询。

您只需要在API Explorer中修改接口参数,即可自动生成对应的代码示例。

图3 API Explorer