Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perangkat dan pekerjaan
Perangkat dapat berkomunikasi dengan AWS IoT Jobs menggunakan MQTT, HTTP Signature Version 4, atau HTTP TLS. Untuk menentukan titik akhir yang akan digunakan saat perangkat Anda berkomunikasi dengan AWS IoT Jobs, jalankan perintah. DescribeEndpoint Misalnya, jika Anda menjalankan perintah ini:
aws iot describe-endpoint --endpoint-type iot:Data-ATS
Anda mendapatkan hasil yang mirip dengan yang berikut ini:
{ "endpointAddress": "a1b2c3d4e5f6g7-ats.iot.us-west-2.amazonaws.com" }
Perangkat dapat berkomunikasi dengan AWS IoT Jobs menggunakan protokol MQTT. Perangkat berlangganan topik MQTT untuk diberitahu tentang pekerjaan baru dan menerima tanggapan dari layanan Pekerjaan. AWS IoT Perangkat mempublikasikan topik MQTT untuk menanyakan atau memperbarui status peluncuran pekerjaan. Setiap perangkat memiliki topik MQTT umum sendiri. Untuk informasi selengkapnya tentang menerbitkan dan berlangganan topik MQTT, lihat. Protokol komunikasi perangkat
Dengan metode komunikasi ini, perangkat Anda menggunakan sertifikat khusus perangkat dan kunci privat untuk mengautentikasi dengan Jobs. AWS IoT
Perangkat Anda dapat berlangganan topik berikut. thing-name
adalah nama benda yang terkait dengan perangkat.
-
$aws/things/
thing-name
/jobs/notifyBerlangganan topik ini untuk memberi tahu Anda saat peluncuran pekerjaan ditambahkan atau dihapus dari daftar peluncuran pekerjaan yang tertunda.
-
$aws/things/
thing-name
/jobs/notify-nextBerlangganan topik ini untuk memberi tahu Anda ketika eksekusi pekerjaan tertunda berikutnya telah berubah.
-
$aws/things/
thing-name
/jobs/request-name
/acceptedLayanan AWS IoT Jobs menerbitkan pesan sukses dan gagal pada topik MQTT. Topik dibentuk dengan menambahkan
accepted
ataurejected
ke topik yang digunakan untuk membuat permintaan. Di sini,request-name
adalah nama permintaan sepertiGet
dan topiknya dapat berupa:$aws/things/myThing/jobs/get
. AWS IoT Jobs kemudian menerbitkan pesan sukses tentang$aws/things/myThing/jobs/get/accepted
topik tersebut. -
$aws/things/
thing-name
/jobs/request-name
/rejectedDi sini,
request-name
adalah nama permintaan sepertiGet
. Jika permintaan gagal, AWS IoT Jobs menerbitkan pesan kegagalan pada$aws/things/myThing/jobs/get/rejected
topik tersebut.
Anda juga dapat menggunakan operasi HTTPS API berikut:
-
Perbarui status eksekusi pekerjaan dengan memanggil
UpdateJobExecution
API. -
Kueri status eksekusi pekerjaan dengan memanggil
DescribeJobExecution
API. -
Ambil daftar eksekusi pekerjaan yang tertunda dengan memanggil API.
GetPendingJobExecutions
-
Ambil eksekusi pekerjaan tertunda berikutnya dengan memanggil
DescribeJobExecution
API denganjobId
as$next
. -
Dapatkan dan mulai eksekusi pekerjaan tertunda berikutnya dengan memanggil
StartNextPendingJobExecution
API.
Perangkat dapat berkomunikasi dengan AWS IoT Jobs menggunakan HTTP Signature Version 4 pada port 443. Ini adalah metode yang digunakan oleh AWS SDK dan CLI. Untuk informasi selengkapnya tentang alat tersebut, lihat Referensi AWS CLI Perintah: iot-jobs-data atau AWS SDK dan Alat
Dengan metode komunikasi ini, perangkat Anda menggunakan kredensyal IAM untuk mengautentikasi dengan Jobs. AWS IoT
Perintah berikut tersedia menggunakan metode ini:
-
DescribeJobExecution
aws iot-jobs-data describe-job-execution ...
-
GetPendingJobExecutions
aws iot-jobs-data get-pending-job-executions ...
-
StartNextPendingJobExecution
aws iot-jobs-data start-next-pending-job-execution ...
-
UpdateJobExecution
aws iot-jobs-data update-job-execution ...
Perangkat dapat berkomunikasi dengan AWS IoT Jobs menggunakan HTTP TLS pada port 8443 menggunakan klien perangkat lunak pihak ketiga yang mendukung protokol ini.
Dengan metode ini, perangkat Anda menggunakan otentikasi berbasis sertifikat X.509 (misalnya, sertifikat khusus perangkat dan kunci privat).
Perintah berikut tersedia menggunakan metode ini:
-
DescribeJobExecution
-
GetPendingJobExecutions
-
StartNextPendingJobExecution
-
UpdateJobExecution
Perangkat pemrograman untuk bekerja dengan pekerjaan
Contoh di bagian ini menggunakan MQTT untuk mengilustrasikan cara kerja perangkat dengan layanan Jobs. AWS IoT Atau, Anda dapat menggunakan perintah API atau CLI yang sesuai. Untuk contoh ini, kami mengasumsikan perangkat bernama MyThing
yang berlangganan topik MQTT berikut:
-
$aws/things/
(atauMyThing
/jobs/notify$aws/things/
)MyThing
/jobs/notify-next -
$aws/things/
MyThing
/jobs/get/accepted -
$aws/things/
MyThing
/jobs/get/rejected -
$aws/things/
MyThing
/jobs/jobId
/get/accepted -
$aws/things/
MyThing
/jobs/jobId
/get/rejected
Jika Anda menggunakan penandatanganan kode AWS IoT, kode perangkat Anda harus memverifikasi tanda tangan file kode Anda. Tanda tangan ada di dokumen pekerjaan di codesign
properti. Untuk informasi selengkapnya tentang memverifikasi tanda tangan file kode, lihat Contoh Agen Perangkat