全部产品
Search
文档中心

IoT Platform:Gunakan IoT Platform SDK untuk Node.js

更新时间:Jul 06, 2025

IoT Platform menyediakan SDK untuk Node.js. Dokumen ini menjelaskan cara menginstal dan mengonfigurasi IoT Platform SDK untuk Node.js serta memberikan contoh kode untuk memanggil operasi API dari IoT Platform menggunakan SDK.

Instal SDK

  1. Instal lingkungan pengembangan Node.js.

    IoT Platform SDK untuk Node.js dikembangkan berdasarkan Node.js. Pastikan Anda telah menginstal Node.js versi 8.x atau yang lebih baru.

  2. Instal Alibaba Cloud SDK untuk Node.js.

    Gunakan npm untuk mengelola dependensi. Jalankan perintah berikut untuk menambahkan dependensi ke file package.json:

    npm install @alicloud/openapi-client -S
  3. Instal IoT Platform SDK untuk Node.js.

    Jalankan perintah berikut untuk menginstal SDK versi 3.0.8:

    npm install --save @alicloud/iot20180120@3.0.8

    Untuk informasi lebih lanjut tentang kode sumber SDK, kunjungi alibabacloud-typescript-sdk.

Inisialisasi SDK

  1. Buat objek config untuk menyimpan informasi inisialisasi SDK seperti ID AccessKey, Rahasia AccessKey, dan ID wilayah.

  2. Buat instance client dan gunakan metode Iot(config) untuk memuat informasi inisialisasi SDK dari objek config.

Sebagai contoh, jika Anda ingin menggunakan SDK di wilayah Tiongkok (Shanghai), gunakan kode berikut untuk menginisialisasi SDK. Di lingkungan produksi, pilih wilayah tempat IoT Platform diaktifkan.

import Iot, * as $Iot from '@alicloud/iot20180120';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
let config = new $OpenApi.Config({ });
// Your AccessKey ID.
config.accessKeyId = process.env.ACCESS_KEY_ID;
// Your AccessKey secret.
config.accessKeySecret = process.env.ACCESS_KEY_SECRET;
// The region ID.
config.regionId = "cn-shanghai";
let client = new Iot(config);

Parameter

Deskripsi

regionId

ID wilayah tempat instance IoT Platform Anda berada. ID wilayah digunakan dalam titik akhir untuk akses layanan. Titik akhir berada dalam format iot.${RegionId}.aliyuncs.com.

Anda dapat melihat wilayah di pojok kiri atas Konsol IoT Platform.

Untuk informasi lebih lanjut tentang format ID wilayah, lihat Wilayah yang didukung.

Mulai permintaan

SDK mengenkapsulasi dua kelas untuk setiap operasi API. Kelas dengan nama dalam format ${Nama API}+"Request" mewakili permintaan, sedangkan kelas dengan nama dalam format ${Nama API}+"Response" mewakili respons.

Prosedur

  1. Inisialisasi SDK. Untuk detail lebih lanjut, lihat bagian Inisialisasi SDK pada dokumen ini.

  2. Buat permintaan API dengan membuat instance request dari kelas ${Nama Operasi API}+"Request".

  3. Gunakan instance request untuk menentukan parameter permintaan.

  4. Buat instance response dari kelas ${Nama Operasi API}+"Response" untuk mendapatkan respons. Panggil metode ${Nama Operasi API}(request) dari instance client untuk mendapatkan respons terhadap permintaan API. Respons mencakup body dan headers yang dikembalikan oleh server.

  5. Panggil metode response.body.${Parameter Respon} untuk mendapatkan nilai parameter respons.

    Sebagai contoh, panggil metode response.body.success untuk mendapatkan parameter Success. Parameter ini menunjukkan apakah permintaan berhasil. Parameter respons umum lainnya meliputi RequestId, ErrorMessage, dan Code.

  6. Panggil metode catch() untuk menangani pengecualian.

Untuk informasi lebih lanjut tentang operasi API dari IoT Platform, lihat Daftar operasi berdasarkan fungsi. Untuk detail parameter permintaan dan respons dari setiap operasi API, lihat referensi API.

Contoh berikut menunjukkan cara memanggil operasi Pub untuk menerbitkan pesan ke topik. Untuk informasi lebih lanjut tentang parameter permintaan, lihat Pub.

Penting

Dalam kode sampel berikut, ${iotInstanceId} menentukan ID suatu instance. Anda dapat melihat ID instance pada halaman Overview di Konsol IoT Platform.

  • Jika instance Anda memiliki ID, tentukan ID tersebut untuk parameter ini. Jika tidak, pemanggilan akan gagal.

  • Jika tidak ada halaman Overview atau ID yang dihasilkan untuk instance Anda, Anda tidak perlu mengonfigurasi parameter ini. Hapus kode permintaan terkait dengan parameter IotInstanceId atau tetapkan string kosong ("") untuk parameter tersebut. Jika tidak, pemanggilan akan gagal.

Untuk informasi lebih lanjut tentang instance IoT Platform, lihat Ikhtisar. Untuk panduan pembelian instance, lihat Beli instance Enterprise Edition. Untuk FAQ, lihat FAQ tentang instance IoT Platform.

try {
    let client = Client.createClient("${accessKey}", "${accessKeySecret}");
    let request = new $Iot.PubRequest({
        // The ID of the IoT Platform instance.
        iotInstanceId: "${iotInstanceId}",
        // The ProductKey of the product.
        productKey: "${productKey}",
        // The message body to be sent. It must be encoded in Base64.
        messageContent: "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
        // The custom topic that is used to publish the message.
        topicFullName: "/${productKey}/${deviceName}/user/get",
        // The message sending mode. IoT Platform SDK supports QoS 0 and QoS 1.
        qos: 0,
    });
    let response = await client.pub(request);
    Console.log(Util.toJSONString($tea.toMap(response)));
} catch (error) {
    Console.log(error.message);
}

Kode sampel

Catatan

Ganti nilai parameter sebelumnya dengan nilai aktual sesuai skenario bisnis Anda.

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 {
  /**
   * Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi client.
   * @param accessKeyId
   * @param accessKeySecret
   * @param regionId
   * @return Client
   * @throws Exception
   */
  static createClient(): Iot {
    let config = new $OpenApi.Config({ });
    // Your AccessKey ID.
    config.accessKeyId = process.env.ACCESS_KEY_ID;
    // Your AccessKey secret.
    config.accessKeySecret = process.env.ACCESS_KEY_SECRET;
    // The region 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({
        // The ID of the IoT Platform instance.
        iotInstanceId: "${iotInstanceId}",
        // The ProductKey of the product.
        productKey: "${productKey}",
        // The message body that you want to send. Encode "hello world" in Base64 as a string.
        messageContent: "eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=",
        // The custom topic that is used to publish the message.
        topicFullName: "/${productKey}/${deviceName}/user/get",
        // The message sending mode. IoT Platform SDK supports QoS 0 and QoS 1.
        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));

Lampiran: Kode sampel

Anda dapat melihat atau mengunduh kode sampel operasi API di Pusat Sampel IoT Platform SDK. Kode sampel SDK untuk Java, Python, PHP, Node.js, Go, C++, dan .NET disediakan.

Alibaba Cloud OpenAPI Explorer menyediakan alat debugging online untuk operasi API. Di halaman Debugging API, Anda dapat mencari operasi API, memanggil operasi API, dan menghasilkan kode sampel untuk operasi API dari SDK yang berbeda. Di sisi kanan halaman, Anda dapat melihat kode sampel SDK di tab Kode Sampel. Di tab Hasil Debugging, Anda dapat melihat URL permintaan sebenarnya dan respons dalam format JSON.