

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

# Perangkat dan pekerjaan
<a name="jobs-devices"></a>

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"
}
```

## Menggunakan protokol MQTT
<a name="jobs-using-mqtt"></a>

Perangkat dapat berkomunikasi dengan AWS IoT Jobs menggunakan protokol MQTT. Perangkat berlangganan topik MQTT untuk diberi tahu 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](protocols.md)

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/notify`**  
Berlangganan topik ini untuk memberi tahu Anda saat peluncuran pekerjaan ditambahkan atau dihapus dari daftar peluncuran pekerjaan yang tertunda.
+ 

**`$aws/things/{{thing-name}}/jobs/notify-next`**  
Berlangganan topik ini untuk memberi tahu Anda ketika eksekusi pekerjaan tertunda berikutnya telah berubah.
+ 

**`$aws/things/{{thing-name}}/jobs/{{request-name}}/accepted`**  
Layanan AWS IoT Jobs menerbitkan pesan sukses dan gagal pada topik MQTT. Topik dibentuk dengan menambahkan `accepted` atau `rejected` ke topik yang digunakan untuk membuat permintaan. Di sini, `request-name` adalah nama permintaan seperti `Get` dan topiknya dapat berupa:`$aws/things/myThing/jobs/get`. AWS IoTJobs kemudian menerbitkan pesan sukses tentang `$aws/things/myThing/jobs/get/accepted` topik tersebut.
+ 

**`$aws/things/{{thing-name}}/jobs/{{request-name}}/rejected`**  
Di sini, `request-name` adalah nama permintaan seperti`Get`. 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 [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html)API.
+ Kueri status eksekusi pekerjaan dengan memanggil [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html)API.
+ Ambil daftar eksekusi pekerjaan yang tertunda dengan memanggil API. [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_GetPendingJobExecutions.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_GetPendingJobExecutions.html)
+ Ambil eksekusi pekerjaan tertunda berikutnya dengan memanggil [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_DescribeJobExecution.html)API dengan `jobId` as`$next`.
+ Dapatkan dan mulai eksekusi pekerjaan tertunda berikutnya dengan memanggil [https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html)API.

## Menggunakan HTTP Signature Versi 4
<a name="jobs-using-http-v4"></a>

Perangkat dapat berkomunikasi dengan AWS IoT Jobs menggunakan HTTP Signature Version 4 pada port 443. Ini adalah metode yang digunakan oleh AWS SDKs dan CLI. Untuk informasi selengkapnya tentang alat tersebut, lihat [Referensi AWS CLI Perintah: iot-jobs-data](https://docs.aws.amazon.com/cli/latest/reference/iot-jobs-data/index.html) atau [AWSSDKs dan Alat](https://aws.amazon.com/tools/#sdk) dan lihat IotJobsDataPlane bagian untuk bahasa pilihan Anda.

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 ...` 

## Menggunakan HTTP TLS
<a name="jobs-using-http-tls"></a>

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
<a name="programming-devices"></a>

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/{{MyThing}}/jobs/notify` (atau `$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 kodeAWS 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](https://github.com/aws/aws-iot-device-sdk-js#jobsAgent).

**Topics**
+ [Perangkat pemrograman untuk bekerja dengan pekerjaan](#programming-devices)
+ [Alur kerja perangkat](jobs-workflow-device-online.md)
+ [Alur kerja pekerjaan](jobs-workflow-jobs-online.md)
+ [Pemberitahuan pekerjaan](jobs-comm-notifications.md)