All Products
Search
Document Center

IoT Platform:Gunakan SDK untuk Java

Last Updated:Nov 11, 2025

SDK Java yang disediakan oleh Alibaba Cloud menyederhanakan proses pemanggilan API DataService Studio, sehingga memudahkan pengambilan data tertentu. Anda dapat mengintegrasikan SDK ke dalam proyek menggunakan dependensi Maven atau dengan mengunduh paket instalasi untuk penyiapan lokal. Topik ini menjelaskan cara menggunakan SDK Java untuk memanggil API metrik preset, termasuk metode dan contohnya.

Prasyarat

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

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

Untuk informasi tambahan, lihat Manajemen dan Penggunaan.

Instal SDK

  1. Siapkan lingkungan pengembangan Java.

    Unduh lingkungan dari situs web resmi Java dan ikuti petunjuk instalasi yang disediakan.

  2. Instal SDK IoT Platform untuk Java.

    1. Dapatkan perangkat lunak Maven dari situs web resmi Apache Maven.

    2. Masukkan SDK IoT Platform untuk Java menggunakan dependensi Maven berikut:

      <dependency>
          <groupId>com.aliyun</groupId>
          <artifactId>tea-openapi</artifactId>
          <version>0.0.11</version>
      </dependency>
      <dependency>
          <groupId>com.aliyun</groupId>
          <artifactId>iot20180120</artifactId>
          <version>1.1.0</version>
      </dependency>                                

Mulai permintaan

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

Penting

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

// Contoh kode untuk memanggil API DataService Studio
import com.aliyun.iot20180120.Client;
import com.aliyun.iot20180120.models. * ;
import com.aliyun.teaopenapi.models.Config;
public class JavaDemo {
    /**
    * Inisialisasi klien dengan ID AccessKey dan rahasia AccessKey
    * @param accessKeyId
    * @param accessKeySecret
    * @return Client
    * @throws Exception
     */
    public static Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        Config config = new Config();
        config.setAccessKeyId(accessKeyId);
        config.setAccessKeySecret(accessKeySecret);
        // Tetapkan nama domain akses Anda
        config.setEndpoint("iot.cn-shanghai.aliyuncs.com");
        return new Client(config);
    }
    public static void main(String[] args_) throws Exception {
        // Masukkan ID AccessKey dan rahasia AccessKey Anda
        Client client = JavaDemo.createClient("LTAI****************", "*********"));
        ListAnalyticsDataRequest request = new ListAnalyticsDataRequest();
        // Tentukan Path API Anda
        request.setApiPath("/iot-cn-npk1v******/system/query/hist_dev_cnt_stat");
        // Tunjukkan ID instans tempat API Anda berada
        request.setIotInstanceId("iot-cn-npk1v******");
        // Tetapkan parameter penomoran halaman: nomor halaman
        request.setPageNum(1);
        // Tetapkan parameter penomoran halaman: ukuran halaman
        request.setPageSize(100);
        List < ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition > conditions = new ArrayList < >();
        // Definisikan parameter permintaan terkait bisnis Anda. Untuk konfigurasi Condition, lihat deskripsi di bawah.
        ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition condition = new ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition();
        condition.setFieldName("__instance_id__");
        condition.setOperate("=");
        condition.setValue("iot-public");
        conditions.add(condition);
        ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition condition1 = new ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition();
        condition1.setFieldName("entityId");
        condition1.setOperate("=");
        condition1.setValue("all");
        conditions.add(condition1);
        ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition condition2 = new ListAnalyticsDataRequest.ListAnalyticsDataRequestCondition();
        condition2.setFieldName("statDate");
        condition2.setOperate("=");
        condition2.setValue("20210221");
        conditions.add(condition2);
        request.setCondition(conditions);
        // Jalankan pemanggilan API dan tangkap tanggapan
        ListAnalyticsDataResponse listAnalyticsDataResponse = client.listAnalyticsData(request);
        // Tampilkan tanggapan
        System.out.println(JSON.toJSONString(listAnalyticsDataResponse));
    }
}
  • Parameter permintaan sistem:

    Nama

    Tipe

    Wajib

    Nilai Contoh

    Deskripsi

    accessKeyId

    String

    Ya

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

    Untuk mendapatkan ID AccessKey dan rahasia AccessKey, masuk ke konsol IoT Platform, arahkan kursor ke gambar profil akun, lalu klik sekali Accesskey Management.

    Catatan

    Jika menggunakan Pengguna RAM, sambungkan kebijakan izin AliyunIOTFullAccess untuk mengaktifkan manajemen sumber daya IoT Platform. Jika tidak, koneksi ke IoT Platform mungkin gagal. Untuk metode otorisasi, lihat Berikan Akses Pengguna RAM ke IoT Platform.

    accessKeySecret

    String

    Ya

    yourAccessKeySecret

    Endpoint

    String

    Ya

    iot.cn-shanghai.aliyuncs.com

    Alamat server API layanan Alibaba Cloud. Pastikan wilayahnya sesuai dengan wilayah produk IoT Platform.

    Pada contoh ini, wilayahnya adalah Tiongkok (Shanghai) (cn-shanghai).

    apiPath

    String

    Ya

    /iot-cn-npk1v******/system/query/hist_dev_cnt_stat

    Jalur operasi untuk API. Di daftar API DataService Studio, klik sekali View di sebelah API untuk membuka halaman produknya dan temukan nilai API Path. Untuk detail lebih lanjut, lihat Kelola API.

    iotInstanceId

    String

    Ya

    iot-cn-npk1u******

    ID instans yang menampung API.

    pageNum

    Integer

    Bersyarat

    1

    Nomor halaman untuk penomoran halaman.

    pageSize

    Integer

    Bersyarat

    100

    Jumlah entri per halaman, hingga maksimum 100.

  • Parameter permintaan terkait bisnis:

    Nama

    Tipe

    Wajib

    Deskripsi

    Kode Terkait

    fieldName

    String

    Ya

    Nama parameter dalam permintaan.

    condition.setFieldName("entityId");

    operate

    String

    Ya

    Operator yang digunakan untuk parameter. Opsi meliputi:

    • = untuk pencocokan nilai eksak.

    • BETWEEN untuk rentang nilai.

    • IN untuk beberapa nilai yang mungkin.

    • != untuk mengecualikan nilai tertentu.

    condition.setOperate("=");

    value

    String

    Tidak

    Nilai yang akan dicocokkan untuk parameter.

    Penting

    Parameter ini diperlukan kecuali jika operatornya adalah BETWEEN.

    condition.setValue("all");

    betweenStart

    String

    Tidak

    Nilai awal untuk parameter rentang.

    Penting

    Wajib jika operatornya adalah BETWEEN.

    condition.setBetweenStart("0");

    betweenEnd

    String

    Tidak

    Nilai akhir untuk parameter rentang.

    Penting

    Wajib jika operatornya adalah BETWEEN.

    condition.setBetweenEnd("100");

    Setiap parameter permintaan dikaitkan dengan condition tertentu. Untuk mengonfigurasi kondisi ini, lihat halaman produk API tempat Anda dapat melihat dan menetapkan jumlah condition yang diinginkan. Untuk panduan mengakses parameter permintaan API, lihat Kelola API.

    Pada 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 dapat ditemukan di halaman produk API yang sesuai. Untuk operasi spesifik, lihat Manajemen dan Penggunaan.

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

    {
        "body": {
            "data": {
                "hasNext": false,
                "pageNum": 1,
                "pageSize": 100,
                "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}]"
            },
            "requestId": "6B78B8DB-EBDB-4451-BE30-893714******",
            "success": true
        },
        "headers": {
            "access-control-allow-origin": "*",
            "date": "Mon, 15 Mar 2021 07:24:01 GMT",
            "content-length": "425",
            "access-control-max-age": "172800",
            "x-acs-request-id": "6B78B8DB-EBDB-4451-BE30-893714******",
            "access-control-allow-headers": "X-Requested-With, X-Sequence, _aop_secret, _aop_signature",
            "connection": "keep-alive",
            "content-type": "application/json;charset=utf-8",
            "access-control-allow-methods": "POST, GET, OPTIONS"
        }
    }
  • Gagal:

    Penyebab kegagalan dapat dipahami dengan memeriksa kode kesalahan dalam hasil.

    Contoh berikut menunjukkan pemanggilan API yang gagal karena parameter permintaan yang tidak valid, __instance_idd__. Perbaiki menjadi __instance_id__ dan coba lagi permintaannya.