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
Buat tugas kustom.
- Di Konsol IoT Platform, temukan instance yang ingin Anda kelola dan klik nama instance. Di panel navigasi kiri halaman Detail Instance, pilih . Di halaman Tugas, klik Create Task.
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
JSONdan 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.nullAnda 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.
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.
nullJika 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
Md5danSha256.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.
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/getsetelah 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" } } } }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 di Konsol IoT Platform.
progress
Integer
Persentase kemajuan eksekusi sub-tugas.
- Di Konsol IoT Platform, temukan instance tempat tugas tersebut berada dan klik nama instance. Di halaman Detail Instance, pilih . 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.
Tab Deskripsi Task Information Anda dapat melihat informasi tugas, mengubah deskripsi tugas dan konfigurasi tugas, serta mengunduh file aturan. Task Summary Anda 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.
- Temukan perangkat yang ingin Anda kelola dan klik View untuk masuk ke halaman device details.
- 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.