全部产品
Search
文档中心

IoT Platform:Gunakan IoT Platform SDK untuk Java

更新时间:Jul 06, 2025

IoT Platform SDK untuk Java memungkinkan Anda menggunakan program Java untuk mengelola sumber daya IoT Platform secara efisien. Anda dapat menambahkan SDK sebagai dependensi ke proyek Maven atau mengunduh paket instalasi ke direktori lokal untuk menginstal SDK.

Instal SDK

  1. Instal lingkungan pengembangan Java.

    Unduh paket instalasi Java dari situs resmi Java dan instal Java sesuai petunjuk. Kami merekomendasikan Anda menginstal Java 8 atau yang lebih baru.

  2. Instal IoT Platform SDK untuk Java.

    1. Unduh paket instalasi Maven dari situs resmi Apache Maven.

    2. Tambahkan dependensi berikut ke proyek Maven Anda:

      • Dependensi untuk IoT Platform SDK untuk Java versi terbaru:

        <!-- https://mvnrepository.com/artifact/com.aliyun/iot20180120 -->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>iot20180120</artifactId>
            <version>3.0.8</version>
        </dependency>
      • Dependensi untuk Alibaba Cloud SDK untuk Java:

        <dependency>
          <groupId>com.aliyun</groupId>
          <artifactId>tea-openapi</artifactId>
          <version>0.2.2</version>
        </dependency>

Untuk informasi lebih lanjut tentang kode sumber SDK untuk Java, lihat alibabacloud-java-sdk.

Inisialisasi SDK

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

  2. Buat instance client dan panggil metode com.aliyun.iot20180120.Client(config) untuk memuat informasi SDK dari config. SDK kemudian diinisialisasi.

    Parameter Request dan Response untuk pemanggilan API selanjutnya diperoleh dari com.aliyun.iot20180120.models.

Sebagai contoh, jika Anda ingin menggunakan SDK di wilayah China (Shanghai), Anda dapat menggunakan kode berikut untuk menginisialisasi SDK. Di lingkungan produksi, Anda harus memilih wilayah tempat IoT Platform diaktifkan.

Config config = new Config();
// AccessKey ID akun Alibaba Cloud Anda.
config.accessKeyId = "<your accessKey>";
// Rahasia AccessKey akun Alibaba Cloud Anda.
config.accessKeySecret = "<your accessSecret>";
// ID wilayah.
config.regionId = "cn-shanghai";
// Inisialisasi SDK.
Client client = new com.aliyun.iot20180120.Client(config);

Parameter

Deskripsi

accessKeyId

ID AccessKey akun Alibaba Cloud Anda.

Anda dapat pergi ke halaman Pasangan AccessKey di Konsol Manajemen Alibaba Cloud untuk membuat atau melihat pasangan AccessKey Anda.

accessKeySecret

Rahasia AccessKey akun Alibaba Cloud Anda.

regionId

ID wilayah tempat instance IoT Platform Anda berada. ID wilayah digunakan dalam titik akhir untuk akses layanan. Titik akhir 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.

Mengirim permintaan

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

Prosedur

  1. Inisialisasi SDK. Untuk informasi lebih lanjut, lihat Inisialisasi SDK.

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

  3. Panggil metode set+${Parameter Permintaan} dari instance request untuk menentukan parameter permintaan.

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

  5. Gunakan objek body dari instance response dan panggil metode get+${Parameter Respons} untuk mendapatkan nilai parameter respons.

    Sebagai contoh, metode response.getBody.getSuccess() dipanggil untuk mendapatkan nilai parameter Success. Parameter ini adalah parameter respons umum, yang menunjukkan apakah pemanggilan berhasil. Parameter respons umum lainnya termasuk RequestId, ErrorMessage, dan Code.

  6. Panggil metode catch() untuk menangani pengecualian.

Untuk informasi lebih lanjut tentang operasi API IoT Platform, lihat Daftar operasi berdasarkan fungsi. Untuk informasi lebih lanjut tentang parameter permintaan dan parameter respons 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 instance. Anda dapat melihat ID instance di halaman Overview di Konsol IoT Platform.

  • Jika instance Anda memiliki ID, Anda harus menentukan ID untuk parameter ini. Jika tidak, pemanggilan gagal.

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

Untuk informasi lebih lanjut tentang instance IoT Platform, lihat Ikhtisar. Untuk informasi lebih lanjut tentang cara membeli instance, lihat Beli instance Edisi Perusahaan. Untuk informasi lebih lanjut, lihat FAQ tentang instance IoT Platform.

PubRequest request = new PubRequest()
    .setIotInstanceId("${iotInstanceId}")
    .setProductKey("${productKey}")
    .setMessageContent(Base64.getEncoder().encodeToString("hello world".getBytes()))
    .setTopicFullName("/${productKey}/${deviceName}/user/get")
.setQos(0); // QoS0 dan QoS1 didukung.  
try {
    PubResponse response = client.pub(request);
// Respons yang berisi body dan headers yang dikembalikan oleh server.  
// Dapatkan ID permintaan. 
    System.out.println(response.getBody().getRequestId());
    // Periksa apakah pemanggilan berhasil. 
    System.out.println(response.getBody().getSuccess());
    
    // Pemanggilan berhasil. 
    if (response.getBody().getSuccess()) {
        // Dapatkan ID pesan yang dikirim dari IoT Platform. 
        System.out.println(response.getBody().getMessageId());
        
        // Pernyataan else. 
        
    } else {
    // Pemanggilan gagal.             
        // Dapatkan kode kesalahan. 
        System.out.println(response.getBody().getCode());
        // Dapatkan deskripsi kesalahan. 
        System.out.println(response.getBody().getErrorMessage());
     }
} catch (TeaException error) {
    // Pengecualian yang terjadi di server. 
    System.out.println(error.getCode());
    System.out.println(error.getMessage());
} catch (Exception e) {
    // Pengecualian runtime lainnya. 
    e.printStackTrace();
}

Kode sampel

Catatan

Anda dapat mengganti nilai parameter sebelumnya dengan nilai aktual berdasarkan skenario bisnis Anda.

import com.aliyun.iot20180120.Client;
import com.aliyun.iot20180120.models.PubRequest;
import com.aliyun.iot20180120.models.PubResponse;
import com.aliyun.tea.TeaException;
import com.aliyun.teaopenapi.models.Config;
import java.util.Base64;

public class IotSdkDemo {
    /**
     * Gunakan ID AccessKey dan Rahasia AccessKey Anda untuk menginisialisasi klien.
     */
    private static Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        Config config = new Config();
        config.accessKeyId = accessKeyId;
        config.accessKeySecret = accessKeySecret;
        // ID wilayah.
        config.regionId = "cn-shanghai";
        return new Client(config);
    }

    public static void main(String[] args) {
        try {
            Client client = createClient(accessKey, accessKeySecret);
            PubRequest request = new PubRequest()
                .setIotInstanceId("${iotInstanceId}")
                .setProductKey("${productKey}")
                .setMessageContent(Base64.getEncoder().encodeToString("hello world".getBytes()))
                .setTopicFullName("/${productKey}/${deviceName}/user/get")
                .setQos(0);// QoS0 dan QoS1 didukung.  
            
            PubResponse response = client.pub(request);            
            // Dapatkan ID permintaan. 
      System.out.println(response.getBody().getRequestId());
      // Periksa apakah pemanggilan berhasil. 
      System.out.println(response.getBody().getSuccess());
            
         // Pemanggilan berhasil. 
       if (response.getBody().getSuccess()) {
          // Dapatkan ID pesan yang dikirim dari IoT Platform. 
          System.out.println(response.getBody().getMessageId());
        
          // Pernyataan else. 
      } else {
       // Pemanggilan gagal.             
          // Dapatkan kode kesalahan. 
             System.out.println(response.getBody().getCode());
          // Dapatkan deskripsi kesalahan. 
          System.out.println(response.getBody().getErrorMessage());
      }
        } catch (TeaException error) {
            // Pengecualian yang terjadi di server. 
      System.out.println(error.getCode());
      System.out.println(error.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Lampiran: Kode sampel

Anda dapat melihat atau mengunduh kode sampel operasi API di Pusat Contoh SDK IoT Platform. 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.