全部产品
Search
文档中心

IoT Platform:Konfigurasi langganan sisi server SMQ

更新时间:Jul 06, 2025

IoT Platform memungkinkan Anda mengirim pesan perangkat ke Simple Message Queue (SMQ, sebelumnya MNS). Aplikasi cloud dapat menerima pesan perangkat dengan mendengarkan antrian SMQ. Topik ini menjelaskan cara mengonfigurasi langganan sisi server SMQ.

Prasyarat

Jika menggunakan pengguna RAM, pastikan pengguna tersebut memiliki izin AliyunIOTAccessingSMQRole.

Prosedur

  1. Di konsol IoT Platform, konfigurasikan langganan sisi server SMQ untuk sebuah produk agar IoT Platform secara otomatis meneruskan pesan ke SMQ.

    1. Masuk ke konsol IoT Platform.

    2. Di halaman Overview, klik All environment. Pada tab All environment, temukan instans yang ingin dikelola dan klik ID atau nama instans tersebut.

    3. Di panel navigasi di sebelah kiri, pilih Message Forwarding > Server-side Subscription.

    4. Pada tab Langganan di halaman Server-side Subscription, klik Create Subscription.

    5. Di kotak dialog Buat Langganan, konfigurasikan parameter yang diperlukan dan klik OK. Tabel berikut menjelaskan parameter tersebut.

      Parameter

      Deskripsi

      Produk

      Pilih produk tempat perangkat-perangkat tersebut termasuk. Pesan-pesan yang dikirimkan oleh perangkat akan didorong ke konsumen.

      Tipe Langganan

      Pilih SMQ.

      Tipe Pesan

      Pilih tipe-tipe pesan. Anda dapat berlangganan tipe-tipe pesan perangkat berikut:

      Penting

      Jika Anda menggunakan produk-produk dan perangkat gateway Message Queuing Telemetry Transport MQTT atau JT/T 808, IoT Platform hanya mendorong pesan Device Upstream Notification, Device Status Change Notification, dan Device Changes Throughout Lifecycle ke produk-produk dan perangkat tersebut.

      • Device Upstream Notification: pesan-pesan dalam topik-topik yang parameter Allowed Operations-nya disetel ke Publish.

        Pesan-pesan tersebut mencakup data kustom dan data Thing Specification Language (TSL) yang dikirimkan oleh perangkat. Data TSL hulu mencakup data properti, data acara, respons terhadap permintaan pengaturan properti, dan respons terhadap panggilan layanan. Data TSL yang didorong ke server pengguna diproses oleh IoT Platform. Untuk informasi lebih lanjut, lihat Format data.

        Sebagai contoh, kategori-kategori topik berikut didefinisikan untuk sebuah produk:

        • /${productKey}/${deviceName}/user/get. Parameter Operasi yang Diizinkan untuk kategori topik ini disetel ke Berlangganan.

        • /${productKey}/${deviceName}/user/update. Parameter Operasi yang Diizinkan untuk kategori topik ini disetel ke Publikasikan.

        • /${productKey}/${deviceName}/thing/event/property/post Parameter Operasi yang Diizinkan untuk kategori topik ini disetel ke Publikasikan.

        Fitur langganan sisi server mendorong pesan-pesan dari kategori-kategori topik berikut: /${productKey}/${deviceName}/user/update dan /${productKey}/${deviceName}/thing/event/property/post.

      • Device Status Change Notification: notifikasi-notifikasi yang dikirimkan oleh perangkat ketika perangkat tersebut online atau offline.

      • Gateway's sub-devices discovery report: data sub-perangkat yang dikirimkan oleh gateway ketika gateway mendeteksi sub-perangkat baru. Gateway harus memiliki aplikasi-aplikasi yang dapat digunakan untuk mendeteksi sub-perangkat. Tipe pesan ini spesifik untuk gateway.

      • Device Topological Relation Changes: notifikasi-notifikasi yang dikirimkan oleh gateway ketika hubungan topologi antara sub-perangkat dan gateway dibuat atau dihapus. Tipe pesan ini spesifik untuk gateway.

      • Device Changes Throughout Lifecycle: notifikasi-notifikasi yang dikirimkan oleh perangkat ketika perangkat tersebut dibuat, dihapus, diaktifkan, atau dinonaktifkan.

      • TSL Historical Data Reporting: properti historis dan acara-acara yang dikirimkan oleh perangkat.

      • OTA Update Status Notification: notifikasi-notifikasi yang dikirimkan perangkat selama verifikasi paket pembaruan dan pembaruan massal. Notifikasi didorong tanpa memandang apakah pembaruan perangkat berhasil atau gagal.

    6. Di kotak dialog yang muncul, klik OK.

      IoT Platform secara otomatis membuat antrian pesan SMQ dalam format aliyun-iot-${productKey}. Jika ingin mengonfigurasi pendengar antrian, tentukan antrian pesan tersebut.

      Anda akan dikenakan biaya untuk sumber daya SMQ. Untuk informasi lebih lanjut mengenai metode penagihan SMQ, lihat Ikhtisar Penagihan.

      Catatan

      Jika Anda menghapus langganan sisi server SMQ, antrian SMQ terkait akan dihapus secara otomatis.

  2. Konfigurasikan klien SMQ dan dengarkan antrian SMQ untuk menerima pesan perangkat.

    Dalam contoh ini, SMQ SDK for Java digunakan untuk mendengarkan antrian SMQ.

    Untuk informasi tentang cara mengunduh SDK, lihat Catatan Rilis SDK for Java.

    1. Untuk menginstal SMQ SDK for Java, tambahkan dependensi berikut ke file pom.xml:

      <dependency>
          <groupId>com.aliyun.mns</groupId>
          <artifactId>aliyun-sdk-mns</artifactId>
          <version>1.1.8</version>
          <classifier>jar-with-dependencies</classifier>
      </dependency>
    2. Konfigurasikan parameter berikut saat mengonfigurasi SDK:

      CloudAccount account = new CloudAccount( $AccessKeyId, $AccessKeySecret, $AccountEndpoint);
      • Ganti $AccessKeyId dan $AccessKeySecret dengan ID AccessKey dan Rahasia AccessKey akun Alibaba Cloud Anda. Parameter ini diperlukan saat memanggil operasi API. Untuk membuat atau melihat pasangan AccessKey, masuk ke konsol IoT Platform, arahkan pointer ke foto profil Anda, lalu klik AccessKey Management.

      • Ganti $AccountEndpoint dengan titik akhir SMQ. Di konsol MNS, klik Get Endpoint.

    3. Tentukan logika untuk menerima pesan perangkat.

      MNSClient client = account.getMNSClient(); 
      CloudQueue queue = client.getQueueRef("aliyun-iot-a1wmrZPO8o9"); // Tentukan nama antrian yang dibuat secara otomatis. 
      
          while (true) { 
          // Ambil pesan.  
          Message popMsg = queue.popMessage(10);  // Batas waktu permintaan polling panjang adalah 10 detik.       
          if (popMsg != null) { 
              System.out.println("PopMessage Body: "+ popMsg.getMessageBodyAsRawString()); // Dapatkan pesan mentah.  
              queue.deleteMessage(popMsg.getReceiptHandle()); // Hapus pesan dari antrian.  
          } else { 
              System.out.println("Melanjutkan"); } }
                                  
    4. Jalankan program untuk mendengarkan antrian SMQ.

  3. Mulai perangkat dan kirimkan pesan dari perangkat ke IoT Platform.

    Untuk informasi tentang cara mengonfigurasi Link SDK, lihat dokumentasi Link SDK.

  4. Periksa apakah aplikasi cloud dapat menerima pesan. Jika pesan diterima, isi pesan tersebut mirip dengan informasi berikut.

    {
    "messageid":" ",
    "messagetype":"upload",
    "topic":"/al12345****/device123/user/update",
    "payload":" ", 
    "timestamp": " "
    }

    Parameter

    Deskripsi

    messageid

    ID pesan. ID pesan dibuat oleh IoT Platform.

    messagetype

    Tipe pesan dari topik. Nilai-nilai valid:

    • upload: data perangkat yang dikirimkan

    • status: perubahan status perangkat

    • topo_listfound: deteksi sub-perangkat oleh gateway

    • topo_lifecycle: perubahan topologi perangkat

    • device_lifecycle: perubahan siklus hidup perangkat

    • thing_history: data TSL historis

    • ota_event: status pembaruan over-the-air (OTA)

    topic

    Topik IoT Platform dari mana pesan diteruskan.

    payload

    Payload pesan yang dikodekan dalam base64.

    Untuk informasi lebih lanjut tentang format data, lihat Format data.

    timestamp

    Timestamp. Ini adalah jumlah detik yang telah berlalu sejak 00:00:00 Kamis, 1 Januari 1970.