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 dijalankannya menggunakan salah satu cara berikut.

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

    2. Hubungi DescribeJobExecution MQTT API dengan JoBid $next untuk mendapatkan pekerjaan berikutnya, dokumen pekerjaannya, dan detail lainnya, termasuk status apa pun yang disimpan. statusDetails Jika dokumen pekerjaan memiliki tanda tangan file kode, Anda harus memverifikasi tanda tangan sebelum melanjutkan dengan 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 pengatur waktu langkah dengan menetapkan nilai stepTimeoutInMinutes saat Anda memanggil salah satu UpdateJobExecution atauStartNextPendingJobExecution.

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

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

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

    7. Hubungi UpdateJobExecution MQTT API 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, ia terus menerima pemberitahuan tentang eksekusi pekerjaan 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 pekerjaan yang tersedia
    1. Ketika perangkat pertama kali online, itu harus berlangganan notify topik hal itu.

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

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

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

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

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

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

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

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

    Jika perangkat tetap online, itu akan diberitahu tentang semua eksekusi pekerjaan yang tertunda ketika 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 UpdateJobExecution MQTT API untuk memperbarui status pekerjaan ke. REJECTED