All Products
Search
Document Center

IoT Platform:Contoh Penggunaan SDK untuk Node.js

Last Updated:Nov 11, 2025

Manfaatkan SDK Node.js dari Alibaba Cloud untuk memanggil operasi API di DataService Studio dan mengambil data tertentu dengan mudah. Topik ini menjelaskan cara menggunakan SDK Node.js untuk memanggil API metrik preset, lengkap dengan metode dan contohnya.

Prasyarat

  • Untuk memanggil API metrik preset, pastikan produk dan perangkat telah dibuat serta pencadangan data telah selesai. Untuk petunjuk lengkapnya, lihat API untuk metrik preset.

  • Untuk memanggil API data produk atau menyesuaikan API layanan, pastikan API yang sesuai telah dibuat. Untuk petunjuk lengkapnya, lihat API data produk dan Menyesuaikan API layanan.

Untuk informasi lebih lanjut, lihat dokumen referensi.

Instal SDK

  1. Untuk menyiapkan lingkungan pengembangan Node.js, kunjungi situs web resmi Node.js dan ikuti petunjuk instalasi yang disediakan.

  2. Untuk menginstal SDK OpenAPI Alibaba Cloud, jalankan perintah berikut.

    npm install @alicloud/openapi-client
    npm install @alicloud/iot20180120

Mulai Permintaan

Berikut adalah contoh cara memanggil statistik jumlah perangkat historis dari API metrik preset di DataService Studio. Sesuaikan kode tersebut berdasarkan deskripsi parameter untuk memanggil API yang diinginkan.

Penting

Perhatikan bahwa jumlah maksimum permintaan per detik (QPS) untuk satu Akun Alibaba Cloud saat memanggil API DataService Studio adalah 100.

const Config = require('@alicloud/openapi-client').Config;
const ListAnalyticsDataRequest = require('@alicloud/iot20180120').ListAnalyticsDataRequest;
const IotClient = require('@alicloud/iot20180120');
const ListAnalyticsDataRequestCondition = require('@alicloud/iot20180120/dist/client').ListAnalyticsDataRequestCondition;
// Create a client
const config = new Config();
config.endpoint = "iot.cn-shanghai.aliyuncs.com";
config.accessKeyId = "LTAI****************";
config.accessKeySecret = "yourAccessKeySecret";
config.regionId = "cn-shanghai";
async function main() {
    const client = new IotClient.default(config);
    // Create a request object
    const listAnalyticsDataRequest = new ListAnalyticsDataRequest();
    // Your API Path
    listAnalyticsDataRequest.apiPath = '/iot-cn-npk1v******/system/query/hist_dev_cnt_stat'
    // Paging parameter: page number
    listAnalyticsDataRequest.pageNum = 1;
    // Paging parameter: page size
    listAnalyticsDataRequest.pageSize = 100;
    // The instance ID where your API is located
    listAnalyticsDataRequest.iotInstanceId = 'iot-cn-npk1v******' 
    // Your API business-related request parameters. For the configuration description of Condition, see the relevant description below.
    const conditions = [];
    const condition = new ListAnalyticsDataRequestCondition();
    condition.operate = '=';
    condition.fieldName = '__instance_id__';
    condition.value = 'iot-public'
    conditions.push(condition)
    const condition1 = new ListAnalyticsDataRequestCondition();
    condition1.operate = '=';
    condition1.fieldName = 'entityId';
    condition1.value = 'all'
    conditions.push(condition1)
    const condition2 = new ListAnalyticsDataRequestCondition();
    condition2.operate = '=';
    condition2.fieldName = 'statDate';
    condition2.value = '20210221'
    conditions.push(condition2)
    listAnalyticsDataRequest.condition = conditions;
    try {
        const response = await client.listAnalyticsData(listAnalyticsDataRequest)
        console.log(response)
    } catch (ex) {
        console.log(ex);
    }
}
main();
  • Parameter permintaan sistem:

    Nama

    Tipe

    Wajib

    Nilai contoh

    Deskripsi

    endpoint

    String

    Ya

    iot.cn-shanghai.aliyuncs.com

    Titik akhir untuk server API layanan Alibaba Cloud. Pastikan wilayahnya sesuai dengan wilayah produk IoT Platform.

    Dalam contoh ini, wilayahnya adalah Tiongkok Timur 2 (cn-shanghai).

    accessKeyId

    String

    Ya

    LTAI************

    Buka konsol IoT Platform, arahkan kursor ke foto profil akun, lalu klik AccessKey Management untuk mengambil ID AccessKey dan rahasia AccessKey.

    Catatan

    Pengguna Manajemen Akses Sumber Daya (RAM) harus memiliki kebijakan AliyunIOTFullAccess yang dilampirkan untuk mengelola sumber daya IoT Platform. Jika tidak, koneksi akan gagal. Untuk detail otorisasi, lihat Memberikan akses Pengguna RAM ke IoT Platform.

    accessKeySecret

    String

    Ya

    ************

    regionId

    String

    Ya

    cn-shanghai

    Kode wilayah. Untuk daftar wilayah yang didukung, lihat Wilayah yang didukung.

    apiPath

    String

    Ya

    iot-cn-npk1u******

    Jalur operasi API. Lihat daftar API di DataService Studio dan klik Lihat untuk mengakses halaman produk API guna mendapatkan nilai API Patch. Untuk detail selengkapnya, lihat dokumen referensi.

    pageNum

    Integer

    Wajib jika paging diaktifkan

    1

    Nomor halaman untuk paginasi.

    pageSize

    Integer

    Wajib jika paging diaktifkan

    100

    Jumlah entri per halaman, hingga maksimum 100.

    iotInstanceId

    String

    Ya

    iot-cn-npk1v******

    ID instans tempat API Anda ditempatkan.

  • Parameter permintaan terkait bisnis:

    Nama

    Tipe

    Wajib

    Deskripsi

    Kode terkait

    fieldName

    String

    Ya

    Nama bidang untuk parameter permintaan.

     condition.fieldName = '__instance_id__';

    operate

    String

    Ya

    Operator yang digunakan untuk parameter permintaan. Opsi meliputi:

    • = untuk pencocokan eksak.

    • BETWEEN untuk rentang.

    • IN untuk beberapa nilai.

    • != untuk pengecualian.

     condition.operate = '=';

    value

    String

    Tidak

    Nilai spesifik untuk parameter permintaan.

    Penting

    Parameter ini wajib kecuali operatornya adalah BETWEEN.

     condition.value = 'iot-public';

    betweenStart

    String

    Tidak

    Nilai awal untuk parameter rentang.

    Penting

    Wajib jika operatornya adalah BETWEEN.

     condition.betweenStart = '0';

    betweenEnd

    String

    Tidak

    Nilai akhir untuk parameter rentang.

    Penting

    Wajib jika operatornya adalah BETWEEN.

     condition.betweenEnd = '1000';

    Setiap parameter permintaan dikaitkan dengan condition. Anda dapat menetapkan sejumlah conditions tertentu pada halaman produk API. Untuk detail cara melihat parameter permintaan API, lihat Mengelola API.

    Dalam contoh kode yang diberikan, API memiliki tiga parameter permintaan: __instance_id__, entityId, dan statDate, yang masing-masing berkorespondensi dengan condition, condition1, dan condition2.

Hasil Eksekusi

  • Berhasil:

    Deskripsi rinci parameter yang dikembalikan tersedia di halaman produk API yang sesuai. Untuk langkah-langkah spesifik, lihat dokumen referensi.

    Contoh berikut menunjukkan pemanggilan API yang berhasil, yang mengembalikan statistik jumlah perangkat untuk instans publik dari tanggal 21 Februari 2021 hingga waktu pemanggilan API.

    ListAnalyticsDataResponse {
      headers: {
        date: 'Mon, 15 Mar 2021 10:40:58 GMT',
        'content-type': 'application/json;charset=utf-8',
        'content-length': '425',
        connection: 'keep-alive',
        'access-control-allow-origin': '*',
        'access-control-allow-methods': 'POST, GET, OPTIONS',
        'access-control-allow-headers': 'X-Requested-With, X-Sequence, _aop_secret, _aop_signature',
        'access-control-max-age': '172800',
        'x-acs-request-id': 'F278FA13-11E6-42BC-9883-3566AC******'
      },
      body: ListAnalyticsDataResponseBody {
        requestId: 'F278FA13-11E6-42BC-9883-3566AC******',
        success: true,
        data: ListAnalyticsDataResponseBodyData {
          hasNext: false,
          resultJson: '[{"statDate":"20210221","actDevCnt":2942,"onlineDevCntCompare":0.00,"livelyDevCntCompare":8.99,"livelyDevCnt":1527,"onlineDevRate":23.08,"crtDevCnt":169025,"livelyDevRate":51.90,"crtDevCntCompare":0.08,"onlineDevCnt":679,"actDevRate":1.74,"actDevCntCompare":4.55}]',
          pageNum: 1,
          pageSize: 100
        }
      }
    }
  • Gagal:

    Alasan kegagalan pemanggilan dapat diketahui dengan memeriksa kode kesalahan dalam hasil respons.

    Contoh berikut menunjukkan pemanggilan API yang gagal karena parameter permintaan yang tidak valid, __instance_idd__. Perbaiki menjadi __instance_id__ lalu coba panggil kembali.