All Products
Search
Document Center

IoT Platform:Buat tugas kustom

Last Updated:Jun 21, 2025

Jika tugas konfigurasi properti batch atau tugas pemanggilan layanan batch tidak lagi memenuhi kebutuhan bisnis Anda, Anda dapat membuat tugas kustom serta mengonfigurasi aturan kustom untuk berbagai skenario. Topik ini menjelaskan cara membuat tugas kustom, melihat informasi terkait tugas tersebut, serta topik yang digunakan selama eksekusi tugas dan format pesan yang sesuai.

Prasyarat

Tugas diterapkan pada perangkat dengan fungsionalitas manajemen yang telah dikembangkan. Untuk informasi lebih lanjut, lihat Ikhtisar.

Proses manajemen tugas

  1. Buat tugas kustom.

    1. Di Konsol IoT Platform, temukan instance yang ingin Anda kelola dan klik nama instance. Di panel navigasi kiri halaman Detail Instance, pilih Maintenance > Tasks. Di halaman Tugas, klik Create Task.
    2. Di halaman Create Task, konfigurasikan parameter di langkah Buat Tugas dan Jadwal Tugas. Lalu, klik Complete. Gerakkan pointer di atas ikon 帮助 di sebelah parameter untuk melihat informasi tentang parameter tersebut.

      • Buat Tugas

        Parameter

        Deskripsi

        Nama Tugas

        Tentukan nama tugas yang valid. Anda dapat menentukan nama kustom.

        Tipe Tugas

        Atur parameter ini ke Custom Task.

        Deskripsi Tugas

        Tentukan informasi seperti tujuan tugas, yang dapat digunakan untuk mengidentifikasi tugas.

        Perangkat Tujuan, Produk, atau Grup

        Pilih perangkat tempat Anda ingin mengeksekusi tugas. Anda dapat memilih perangkat secara terpisah, perangkat berdasarkan produk, atau perangkat berdasarkan grup.
        null Jika Anda memilih perangkat berdasarkan grup, Anda tidak dapat memilih grup dinamis.

        Aturan Eksekusi Tugas yang Dikeluarkan ke Perangkat

        Unggah file aturan. File harus dalam format JSON dan tidak boleh melebihi 64 KB ukuran.

        Anda dapat mengklik Download Template untuk mendapatkan template aturan. Berikut adalah kode yang menunjukkan isi file:

        {
            "key":"value"
        }
        • key: ID bidang kustom. Tipe data: String.

        • value: Nilai yang sesuai dengan key. Nilai tersebut harus dalam format JSON.

        Algoritma Tanda Tangan File

        Algoritma tanda tangan. Nilai yang valid: MD5 dan SHA256.

        Parameter ini opsional. Anda dapat menggunakan parameter Algoritma Tanda Tangan File bersama dengan parameter Task File Issued to Devices.

        File Tugas yang Dikeluarkan ke Perangkat

        Unggah file untuk tugas kustom.

        Parameter ini opsional. Anda dapat menggunakan parameter File Tugas yang Dikeluarkan ke Perangkat bersama dengan parameter File Signature Algorithm.

        Format file berikut didukung: .bin, .apk, .tar, .gz, .zip, .gzip, dan .tar.gz. File tidak boleh melebihi 1.000 MB ukuran.

        null

        Anda dapat membuat file aturan kustom dan menentukan konten kustom untuk file perangkat berdasarkan kebutuhan bisnis Anda. Anda harus mengembangkan logika implementasi aturan tugas dan konten perangkat pada perangkat yang ditentukan.

      • Konfigurasi Tugas

        Parameter

        Deskripsi

        Konfigurasi Dorongan Eksekusi Pekerjaan

        Sesuaikan jumlah pekerjaan yang didorong per menit sesuai kebutuhan bisnis Anda.

        • Atur Number Of Jobs Executed Per Minute sesuai kebutuhan operasional Anda.

        • Pilih Push Message Type untuk tugas kustom dan dorongan pesan batch Pub.

          Opsi termasuk:

          • QoS0: Mengirimkan pesan maksimal satu kali.

          • QoS1: Memastikan pengiriman setidaknya satu kali. Jika respons PUBACK tidak diterima setelah mengirim pesan QoS 1, pesan akan dikirim ulang ke perangkat saat terhubung kembali ke IoT Platform.

        Konfigurasi Batas Waktu Eksekusi Pekerjaan

        Parameter opsional ini memungkinkan Anda menetapkan batas waktu untuk tugas perangkat. Jika tidak disetel, tugas tidak akan kedaluwarsa. Ini hanya berlaku untuk tugas kustom.

        Timer dimulai ketika tugas perangkat memasuki status IN_PROGRESS. Jika tugas melebihi batas waktu yang ditetapkan tanpa selesai, status pekerjaan berubah menjadi TIMED_OUT, dan eksekusi pekerjaan berhenti.

  2. Setelah Anda membuat tugas, IoT Platform mendorong informasi tugas ke perangkat yang ditentukan menggunakan topik /sys/{productKey}/{deviceName}/thing/job/notify.

    Pesan contoh:

    {
        "id": "7542940",
        "version": "1.0",
        "params": {
            "task": {
                "taskId": "i5Ks6***pF010101",
                "status": "SENT",
                "jobDocument": {},
                "jobFile":{
                    "signMethod":"Md5",
                    "sign":"wssxff56dhdsd***",
                    "fileUrl": "https://iotx-***.oss-cn-shanghai.aliyuncs.com/***.zip"
                }
            }
        }
    }

    jobDocument menentukan isi file aturan.

    Tabel 1. Deskripsi Parameter Permintaan

    Parameter

    Tipe

    Deskripsi

    id

    String

    ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

    version

    String

    Versi protokol. Atur parameter ini ke 1.0.

    params

    Object

    Daftar parameter permintaan.

    task

    Object

    Parameter sub-tugas.

    taskId

    String

    ID sub-tugas, yang merupakan pengenal unik global.

    status

    String

    Status sub-tugas.

    • SENT: Dijadwalkan.

    • REMOVED: Dihapus.

    • CANCELLED: Dibatalkan.

    jobDocument

    Object

    Dokumen pekerjaan yang menggambarkan aturan eksekusi tugas.

    null

    Jika status adalah REMOVED atau CANCELLED, kolom ini kosong.

    jobFile

    Object

    Informasi file yang diunggah saat membuat tugas kustom.

    • signMethod: Metode tanda tangan. Saat ini mendukung Md5 dan Sha256.

    • sign: Parameter tanda tangan yang dihasilkan sesuai metode tanda tangan yang sesuai.

    • fileUrl: URL unduhan file tugas, valid selama 1 jam.

    null

    ```html

    Jika status adalah REMOVED atau CANCELLED, kolom ini kosong.

  3. Perangkat mengimplementasikan isi file aturan berdasarkan logika tugas kustom.

    Jika perangkat tertentu offline dan tidak dapat menerima informasi tugas, perangkat dapat meminta tugas yang dapat dieksekusi dari topik /sys/{productKey}/{deviceName}/thing/job/get setelah perangkat online. Kemudian, perangkat dapat meminta informasi tentang tugas kustom untuk menyelesaikan tugas kustom.

    Contoh permintaan yang digunakan untuk mendapatkan tugas yang dapat dieksekusi:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "taskId": "$list"
        }
    }

    Contoh permintaan yang digunakan untuk mendapatkan informasi tentang tugas:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "taskId": "i5Ks***F010101"
        }
    }

    Tabel 3. Deskripsi Parameter Permintaan

    Parameter

    Tipe

    Deskripsi

    id

    String

    ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

    version

    String

    Versi protokol. Atur parameter ini ke 1.0.

    params

    Object

    Daftar parameter permintaan.

    taskId

    String

    Tiga metode nilai dapat mengembalikan informasi tugas dengan status berbeda.

    • ID sub-tugas: Mengembalikan informasi detail tentang tugas yang sesuai dengan ID pekerjaan.

    • $next: Mengembalikan informasi tentang tugas yang dapat dieksekusi.

    • $list: Mengembalikan daftar tugas yang dapat dieksekusi, dengan maksimum 10 secara default.

    Setelah IoT Platform menerima permintaan, IoT Platform mengirimkan respons ke perangkat yang sesuai menggunakan topik /sys/{productKey}/{deviceName}/thing/job/get_reply.

    Contoh respons yang mencakup tugas yang dikembalikan:

    {
        "id": "1234",
        "code": 200,
        "data": {
            "statusDetails":{"devs":"test","status":"init"},
            "taskId": "$list",
            "task":[
                {
                    "taskId": "i5Ks***",
                    "status": "IN_PROGRESS"
                },
                {
                    "taskId": "i61s***",
                    "status": "IN_PROGRESS"
                }
            ]
        }
    }

    Contoh respons yang mencakup informasi tentang tugas yang dikembalikan:

    {
        "id": "1234",
        "code": 200,
        "data": {
            "statusDetails":{"devs":"test","status":"init"},
            "taskId": "i5Ks***F010101",
            "task":{
                "taskId": "i5Ks***F010101",
                "status": "IN_PROGRESS",
                "jobDocument": {},
                "jobFile":{
                    "signMethod":"Md5",
                    "sign":"wssxff56dhdsd***",
                    "fileUrl": "https://iotx-***.oss-cn-shanghai.aliyuncs.com/***.zip"
                }
            }
        }
    }
  4. Saat tugas dieksekusi, perangkat yang ditentukan mengirimkan kemajuan tugas ke IoT Platform menggunakan topik /sys/{productKey}/{deviceName}/thing/job/update.

    Pesan contoh:

    {
        "id": "123",
        "version": "1.0",
        "params": {
            "taskId": "i5Ks***F010101",
            "status": "IN_PROGRESS",
            "statusDetails": {
                "key": "value"
            },
            "progress": 50
        }
    }

    Tabel 5. Deskripsi Parameter Permintaan

    Parameter

    Tipe

    Deskripsi

    id

    String

    ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat saat ini.

    version

    String

    Versi protokol. Atur parameter ini ke 1.0.

    params

    Object

    Daftar parameter permintaan.

    taskId

    String

    ID sub-tugas, yang merupakan pengenal unik global.

    status

    String

    Status sub-tugas. Nilai valid:

    • SUCCEEDED: Berhasil diselesaikan.

    • FAILED: Eksekusi gagal.

    • IN_PROGRESS: Sedang dieksekusi.

    • REJECTED: Penolakan eksekusi.

    statusDetails

    Object

    Rincian status yang dapat disesuaikan oleh pengguna. Ini dapat dilihat di halaman Device Management > Tasks > Task Details di Konsol IoT Platform.

    progress

    Integer

    Persentase kemajuan eksekusi sub-tugas.

  5. Di Konsol IoT Platform, temukan instance tempat tugas tersebut berada dan klik nama instance. Di halaman Detail Instance, pilih Maintenance > Tasks. Di halaman Tugas, Anda dapat melihat detail terkait, termasuk status tugas yang Anda buat.
    null Jika tugas dalam status Timed Out, tugas tidak dapat lagi dieksekusi sesuai jadwal yang ditentukan.

    Jika sub-tugas dari suatu tugas gagal dieksekusi dalam tujuh hari setelah waktu pembuatan tugas, tugas akan memasuki status Timed Out.

    Anda dapat melakukan salah satu operasi berikut berdasarkan kebutuhan bisnis Anda:

    • Di halaman Tugas, batalkan tugas yang dalam status Processing.
    • Temukan tugas yang ingin Anda kelola dan klik View di kolom Aksi. Di halaman detail tugas, lihat informasi tugas dan statistik tugas.
      TabDeskripsi
      Task InformationAnda dapat melihat informasi tugas, mengubah deskripsi tugas dan konfigurasi tugas, serta mengunduh file aturan.
      Task SummaryAnda dapat melihat statistik sub-tugas berdasarkan status.
      • Temukan perangkat yang ingin Anda kelola dan klik View untuk masuk ke halaman device details.
        • Di tab Task, Anda dapat melihat semua tugas perangkat.
        • Di tab Device Log, klik View. Di halaman Log Perangkat, klik Cloud run log. Di tab Log runtime cloud, pilih Cloud-to-device Message dari daftar drop-down jenis beban kerja di bilah pencarian untuk melihat log terkait tugas.
      • Jika sub-tugas gagal dieksekusi, klik Execution details di kolom Aksi untuk melihat penyebab kegagalan.
      • Jika sub-tugas kedaluwarsa atau gagal dieksekusi, klik Timed Out atau Failed di kolom Status untuk melihat sub-tugas dalam status yang sesuai.

        Di bagian atas halaman Tugas, klik Rerun untuk mengeksekusi ulang sub-tugas yang dalam status Timed Out dan Failed dari tugas saat ini.

    • Klik Delete di kolom Aksi tugas. Di pesan yang muncul, klik OK.
      null Setelah Anda menghapus tugas, semua data yang terkait dengan tugas akan dihapus. Jika aplikasi bisnis berjalan berdasarkan tugas, aplikasi tersebut mungkin menjadi tidak tersedia dan bisnis Anda mungkin terpengaruh. Lanjutkan dengan hati-hati.