View a markdown version of this page

Alur kerja perangkat - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Alur kerja perangkat

Perangkat dapat menangani pekerjaan yang dijalankan menggunakan salah satu cara berikut.

  • Dapatkan pekerjaan berikutnya
    1. Saat perangkat pertama kali online, perangkat harus berlangganan notify-next topik perangkat.

    2. Panggil API DescribeJobExecution MQTT dengan JobID $next untuk mendapatkan pekerjaan berikutnya, dokumen pekerjaannya, dan detail lainnya, termasuk status apa pun yang disimpan di. statusDetails Jika dokumen pekerjaan memiliki tanda tangan file kode, Anda harus memverifikasi tanda tangan sebelum melanjutkan memproses permintaan pekerjaan.

    3. Panggil API UpdateJobExecution MQTT untuk memperbarui status pekerjaan. Atau, untuk menggabungkan ini dan langkah sebelumnya dalam satu panggilan, perangkat dapat meneleponStartNextPendingJobExecution.

    4. (Opsional) Anda dapat menambahkan penghitung waktu langkah dengan menyetel nilai stepTimeoutInMinutes saat Anda memanggil salah satu UpdateJobExecution atauStartNextPendingJobExecution.

    5. Lakukan tindakan yang ditentukan oleh dokumen pekerjaan menggunakan API UpdateJobExecution MQTT untuk melaporkan kemajuan pekerjaan.

    6. Lanjutkan untuk memantau eksekusi pekerjaan dengan memanggil API DescribeJobExecution MQTT dengan JobID ini. Jika eksekusi pekerjaan dihapus, DescribeJobExecution mengembalikan aResourceNotFoundException.

      Perangkat harus dapat memulihkan ke status yang valid jika eksekusi pekerjaan dibatalkan atau dihapus saat perangkat menjalankan pekerjaan.

    7. Panggil API UpdateJobExecution MQTT setelah selesai dengan pekerjaan untuk memperbarui status pekerjaan dan melaporkan keberhasilan atau kegagalan.

    8. Karena status eksekusi pekerjaan ini telah diubah menjadi status terminal, pekerjaan berikutnya yang tersedia untuk eksekusi (jika ada) berubah. Perangkat diberi tahu bahwa eksekusi pekerjaan tertunda berikutnya telah berubah. Pada titik ini, perangkat harus melanjutkan seperti yang dijelaskan pada langkah 2.

    Jika perangkat tetap online, perangkat terus menerima pemberitahuan tentang eksekusi pekerjaan yang tertunda berikutnya. Ini termasuk data eksekusi pekerjaannya, ketika menyelesaikan pekerjaan atau eksekusi pekerjaan baru yang tertunda ditambahkan. Ketika ini terjadi, perangkat berlanjut seperti yang dijelaskan pada langkah 2.

  • Pilih dari lowongan yang tersedia
    1. Ketika perangkat pertama kali online, perangkat harus berlangganan notify topik benda tersebut.

    2. Panggil API GetPendingJobExecutions MQTT untuk mendapatkan daftar eksekusi pekerjaan yang tertunda.

    3. Jika daftar berisi satu atau lebih eksekusi pekerjaan, pilih satu.

    4. Panggil API DescribeJobExecution MQTT untuk mendapatkan dokumen pekerjaan dan detail lainnya, termasuk status apa pun yang disimpan distatusDetails.

    5. Panggil API UpdateJobExecution MQTT untuk memperbarui status pekerjaan. Jika includeJobDocument bidang disetel ke true dalam perintah ini, perangkat dapat melewati langkah sebelumnya dan mengambil dokumen pekerjaan pada titik ini.

    6. Secara opsional, Anda dapat menambahkan pengatur waktu langkah dengan mengatur nilai stepTimeoutInMinutes saat Anda meneleponUpdateJobExecution.

    7. Lakukan tindakan yang ditentukan oleh dokumen pekerjaan menggunakan API UpdateJobExecution MQTT untuk melaporkan kemajuan pekerjaan.

    8. Lanjutkan untuk memantau eksekusi pekerjaan dengan memanggil API DescribeJobExecution MQTT dengan JobID ini. Jika eksekusi pekerjaan dibatalkan atau dihapus saat perangkat menjalankan pekerjaan, perangkat harus dapat memulihkan ke status yang valid.

    9. Panggil API UpdateJobExecution MQTT setelah selesai dengan pekerjaan untuk memperbarui status pekerjaan dan melaporkan keberhasilan atau kegagalan.

    Jika perangkat tetap online, perangkat akan diberitahu tentang semua eksekusi pekerjaan yang tertunda saat eksekusi pekerjaan baru yang tertunda tersedia. Ketika ini terjadi, perangkat dapat melanjutkan seperti yang dijelaskan pada langkah 2.

Jika perangkat tidak dapat melakukan pekerjaan, perangkat harus memanggil API UpdateJobExecution MQTT untuk memperbarui status pekerjaan keREJECTED.