日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Node.js SDK使用說明

物聯網平臺提供TypeScript語言的云端SDK供開發人員使用。本文介紹云端Node.js SDK的安裝和配置,及使用Node.js SDK調用云端API的示例。

安裝SDK

  1. 安裝Node.js開發環境。

    物聯網平臺云端升級版Node.js SDK基于Node.js環境構建,需要安裝Node.js 8.x及以上版本。

  2. 安裝SDK核心庫OpenAPI。

    您可使用npm管理依賴庫,通過以下命令安裝依賴并寫入文件package.json。

    npm install @alicloud/openapi-client -S
  3. 安裝IoT Node.js SDK。

    執行以下npm命令進行安裝,例如安裝3.0.8版本SDK。

    npm install --save @alicloud/iot20180120@3.0.8

    Node.js SDK源碼信息,請參見alibabacloud-typescript-sdk

初始化SDK

  1. 創建Config對象config,存放SDK初始化信息(AccessKey IDAccessKey Secret、地域ID等)。

  2. 創建Client對象實例client,通過Iot(config)方法,加載config中的SDK信息,完成SDK客戶端初始化。

以華東2(上海)地域及其服務接入地址為例,初始代碼如下。實際場景設置中,需使用您的物聯網平臺服務所在地域。

import Iot, * as $Iot from '@alicloud/iot20180120';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
let config = new $OpenApi.Config({ });
// 您的AccessKey ID。
config.accessKeyId = process.env.ACCESS_KEY_ID;
// 您的AccessKey Secret。
config.accessKeySecret = process.env.ACCESS_KEY_SECRET;
// 您的可用區ID。
config.regionId = "cn-shanghai";
let client = new Iot(config);

參數

說明

regionId

您的物聯網平臺服務的地域ID,用于拼接服務接入地址,格式為:iot.${RegionId}.aliyuncs.com。

您可在物聯網平臺控制臺左上方,查看當前服務所在地域。

地域ID的表達方法,請參見支持的地域

SDK客戶端的HTTP請求配置、代理配置、超時機制、重試機制等配置方式,請參見阿里云升級版Node.js SDK使用指南

發起調用

物聯網平臺云端SDK為每個API封裝兩個類,分別命名為${API名稱}+"Request"${API名稱}+"Response",分別用于承載API的調用請求和調用結果。

調用步驟

  1. 已完成SDK客戶端初始化。具體內容,請參見初始化SDK

  2. 創建對應API的調用請求,生成${API名稱}+"Request"類對象實例request

  3. 通過對象實例request,設置API所需的請求參數值。

  4. 創建${API名稱}+"Response"類的對象實例response承載響應結果:使用Client對象實例client${API名稱}(request)方法,獲取API對應request的響應結果,包含服務端響應的bodyheaders

  5. 通過對象實例responsebody成員對象,使用response.body.${返回參數的名稱}方法,可獲取對應返回參數的值。

    例如:response.body.success用于獲取是否調用成功的標識,其中Success為API的通用返回參數。通用返回參數還包含RequestIdErrorMessageCode

  6. 使用catch()方法處理異常報錯。

物聯網平臺云端API,請參見API列表。有關request中請求參數說明,及response中返回參數說明,請參見對應API文檔。

本文以調用Pub接口發布消息到Topic為例。請求參數信息,請參見Pub

重要

以下代碼中${iotInstanceId}為實例ID值。您可在物聯網平臺控制臺的實例概覽頁面,查看當前實例的ID值

  • 若有ID值,必須傳入該ID值,否則調用API會失敗。

  • 若無實例概覽頁面或ID值,則無需傳入ID值。您需刪除IotInstanceId相關的請求代碼,或傳入空值"",否則調用API會失敗。

實例的詳細說明,請參見實例概述。購買實例方法,請參見購買企業版實例。常見問題,請參見物聯網平臺實例相關問題

try {
    let client = Client.createClient("${accessKey}", "${accessKeySecret}");
    let request = new $Iot.PubRequest({
        // 物聯網平臺實例ID。
        iotInstanceId: "${iotInstanceId}",
        // 產品ProductKey。
        productKey: "${productKey}",
        // 要發送的消息主體,需通過Base64編碼。
        messageContent: "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
        // 要接收消息的設備的自定義Topic。
        topicFullName: "/${productKey}/${deviceName}/user/get",
        // 指定消息的發送方式,支持QoS0和QoS1。
        qos: 0,
    });
    let response = await client.pub(request);
    Console.log(Util.toJSONString($tea.toMap(response)));
} catch (error) {
    Console.log(error.message);
}

完整代碼示例

說明

實際場景中,請參照上文的參數說明,替換對應參數值。

import Iot, * as $Iot from '@alicloud/iot20180120';
import Util from '@alicloud/tea-util';
import Env from '@alicloud/darabonba-env';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import Console from '@alicloud/tea-console';
import * as $tea from '@alicloud/tea-typescript';


export default class Client {
  /**
   * 使用AK&SK初始化賬號Client。
   * @param accessKeyId
   * @param accessKeySecret
   * @param regionId
   * @return Client
   * @throws Exception
   */
  static createClient(): Iot {
    let config = new $OpenApi.Config({ });
    // 您的AccessKey ID。
    config.accessKeyId = process.env.ACCESS_KEY_ID;
    // 您的AccessKey Secret
    config.accessKeySecret = process.env.ACCESS_KEY_SECRET;
    // 您的可用區ID。
    config.regionId = "cn-shanghai";
    return new Iot(config);
   }


  static async main(args: string[]): Promise<void> {
    try {
      let client = Client.createClient("${accessKey}", "${accessKeySecret}");
      let request = new $Iot.PubRequest({
        // 物聯網平臺實例ID。
        iotInstanceId: "${iotInstanceId}",
        // 產品ProductKey。
        productKey: "${productKey}",
        // 要發送的消息主體,hello world Base64 String。
        messageContent: "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
        // 要接收消息的設備的自定義Topic。
        topicFullName: "/${productKey}/${deviceName}/user/get",
        // 指定消息的發送方式,支持QoS0和QoS1。
        qos: 0,
      });
      let response = await client.pub(request);
      Console.log(response.body.success);
      Console.log(response.body.requestId);
    } catch (error) {
      Console.log(error.message);
    }    
  }
}

Client.main(process.argv.slice(2));

附錄:示例代碼

前往物聯網平臺云端SDK示例中心查看或下載API調用的示例代碼。示例代碼中包含Java、Python、PHP、Node.js、Go、C++和.NET等版本SDK示例。

阿里云OpenAPI開發者門戶提供API在線調試工具。在API調試頁面,您可以快速檢索和體驗調用API。系統會根據您輸入的參數同步生成各語言SDK的代碼示例。各語言SDK代碼示例顯示在頁面右側SDK示例頁簽下供您參考。在調用結果頁簽下,可查看API調用的真實請求URL和JSON格式的返回結果。